# Stdlib-only static server, so no build step and no dependencies to install. FROM python:3.13-alpine ENV PYTHONUNBUFFERED=1 \ SITE_ROOTS=/srv/assets:/srv/books \ PORT=8080 WORKDIR /srv # Baked in so the image runs standalone; compose bind-mounts over all three # for live edits without a rebuild. COPY server.py /srv/server.py COPY assets/ /srv/assets/ COPY books/ /srv/books/ 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/',timeout=3).status==200 else 1)" CMD ["python3", "/srv/server.py"]