- BIND_ADDR (default 0.0.0.0) on every published port; 127.0.0.1 keeps the stack reachable from the host only (Docker bypasses ufw, so this is the actual control the kiosk addon's 'this kiosk only' choice uses) - Koha serves its web-installer page with HTTP 200 before the database exists, so 'port answers' was not 'ready': the entrypoint now writes /run/koha-ready, the healthcheck requires it, and install.sh waits for healthy + the quick-add health endpoint Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013wi3ZSot4XbUViwRFgLpRf
41 lines
1.8 KiB
Docker
41 lines
1.8 KiB
Docker
# Koha (open-source library system) built from the Koha project's own Debian
|
|
# packages - no third-party Koha images involved.
|
|
#
|
|
# KOHA_SUITE stable (default) | oldstable | unstable
|
|
# KEEP_TRANSLATIONS no (default) trims ~650 MB of non-English .po files;
|
|
# set "yes" if you want to install other languages later
|
|
FROM debian:bookworm-slim
|
|
|
|
ARG KOHA_SUITE=stable
|
|
ARG KEEP_TRANSLATIONS=no
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
LANG=C.UTF-8
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ca-certificates curl gnupg tzdata
|
|
|
|
# Optional: drop extra CA certificates (*.crt) into ./certs/ before building if
|
|
# you are behind a TLS-inspecting proxy. Empty by default.
|
|
COPY certs/ /usr/local/share/ca-certificates/extra/
|
|
RUN update-ca-certificates
|
|
|
|
RUN curl -fsSL https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha.gpg \
|
|
&& echo "deb [signed-by=/usr/share/keyrings/koha.gpg] https://debian.koha-community.org/koha ${KOHA_SUITE} main bookworm" \
|
|
> /etc/apt/sources.list.d/koha.list \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends koha-common mariadb-client \
|
|
&& a2enmod rewrite headers proxy_http cgi deflate >/dev/null \
|
|
&& a2dissite 000-default >/dev/null 2>&1 || true \
|
|
&& if [ "$KEEP_TRANSLATIONS" != "yes" ]; then rm -rf /usr/share/koha/misc/translator/po; fi \
|
|
&& rm -rf /var/lib/apt/lists/* /usr/share/doc/*
|
|
|
|
COPY bootstrap.pl entrypoint.sh /opt/koha-init/
|
|
COPY seed/ /opt/koha-init/seed/
|
|
RUN chmod 0755 /opt/koha-init/entrypoint.sh && chmod -R a+rX /opt/koha-init
|
|
|
|
EXPOSE 80 8081
|
|
VOLUME ["/var/lib/koha"]
|
|
HEALTHCHECK --interval=10s --timeout=10s --start-period=300s --retries=6 \
|
|
CMD test -f /run/koha-ready && curl -fsS -o /dev/null http://127.0.0.1:80/ && curl -fsS -o /dev/null http://127.0.0.1:8081/ || exit 1
|
|
ENTRYPOINT ["/opt/koha-init/entrypoint.sh"]
|