FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PYTHONPATH=/app/src \ APP_HOST=0.0.0.0 \ APP_PORT=4173 WORKDIR /app RUN addgroup --system app && adduser --system --ingroup app app COPY requirements.txt ./ RUN python -m pip install --no-cache-dir --requirement requirements.txt COPY server.py ./ COPY src ./src COPY web ./web USER app EXPOSE 4173 HEALTHCHECK --interval=10s --timeout=3s --start-period=5s --retries=5 \ CMD ["python", "-c", "import os, urllib.request; port = os.getenv('APP_PORT', '4173'); urllib.request.urlopen(f'http://127.0.0.1:{port}/', timeout=2)"] CMD ["python", "server.py"]