FROM python:3.13-alpine WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY app.py . COPY templates ./templates COPY static ./static RUN addgroup -S ocsentinel && adduser -S ocsentinel -G ocsentinel USER ocsentinel EXPOSE 8080 CMD ["gunicorn", "--bind", "0.0.0.0:8080", "--workers", "2", "--threads", "4", "--timeout", "30", "app:app"]