FROM python:3-alpine

WORKDIR /app

# Copy only the necessary web assets
COPY index.html favicon.svg manifest.json sw.js ./
COPY web/ ./web/

# Expose a random non-standard port
EXPOSE 8421

# Python's http.server gracefully exits on SIGINT (Ctrl+C) rather than SIGTERM
STOPSIGNAL SIGINT

# Run the python HTTP server
CMD ["python", "-m", "http.server", "8421"]
