Files
signage/Dockerfile
Erik Thiele 8f0e702cca fix: PYTHONUNBUFFERED im Container setzen
Ohne die Variable puffert Python stdout blockweise, sobald es kein
Terminal ist. Saemtliche print()-Ausgaben der App - darunter die
Diagnosezeilen zum Logo-Upload - erschienen dadurch nicht in
"docker compose logs", sondern blieben im Puffer haengen. In der
gesamten Log-Historie des Containers stand kein einziger APP.PY-Eintrag.
Tracebacks waren sichtbar, weil Flask sie ueber stderr ausgibt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-02 15:55:23 +02:00

24 lines
682 B
Docker

FROM python:3.13-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt gunicorn
COPY . .
RUN addgroup --system --gid 1000 app && \
adduser --system --uid 1000 --ingroup app --disabled-password --disabled-login --no-create-home app && \
chown -R app:app /app && chmod -R u+w /app && \
find / -perm /4000 -o -perm /2000 2>/dev/null | xargs -r chmod ug-s
USER app
ENV HOME=/tmp
# Ohne das puffert Python stdout blockweise, weil es kein Terminal ist -
# die print()-Ausgaben der App tauchen dann nicht in "docker compose logs" auf.
ENV PYTHONUNBUFFERED=1
EXPOSE 5005
CMD ["gunicorn", "-b", "0.0.0.0:5005", "-w", "4", "app:app"]