24 lines
648 B
Docker
24 lines
648 B
Docker
# Stdlib-only static server, so no build step and no dependencies to install.
|
|
FROM python:3.13-alpine
|
|
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
SITE_ROOT=/srv/site \
|
|
PORT=8080
|
|
|
|
WORKDIR /srv
|
|
COPY server.py /srv/server.py
|
|
# Baked in so the image runs standalone; compose bind-mounts over this for
|
|
# live edits without a rebuild.
|
|
COPY books/ /srv/site/
|
|
|
|
RUN adduser -S -u 10001 bible
|
|
USER 10001
|
|
|
|
EXPOSE 8080
|
|
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
|
|
CMD python3 -c "import urllib.request as u,sys; \
|
|
sys.exit(0 if u.urlopen('http://127.0.0.1:8080/index.html',timeout=3).status==200 else 1)"
|
|
|
|
CMD ["python3", "/srv/server.py"]
|