Files
the-button/Dockerfile
T
2026-10-23 10:23:03 -04:00

26 lines
659 B
Docker

FROM python:3.12-slim
ENV PYTHONUNBUFFERED=1 \
BUTTON_HOST=0.0.0.0 \
BUTTON_PORT=8000 \
BUTTON_DATA_FILE=/data/data.json \
BUTTON_DATABASE_FILE=/data/data.sqlite3 \
BUTTON_MAILING_LIST_FILE=/data/mailing_list.csv
RUN useradd --system --uid 10001 --no-create-home button \
&& mkdir /data && chown button /data
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY server.py ./
COPY static ./static
USER button
VOLUME /data
EXPOSE 8000
# Python as PID 1 ignores SIGTERM; SIGINT raises KeyboardInterrupt for a clean exit.
STOPSIGNAL SIGINT
CMD ["python", "server.py"]