# syntax=docker/dockerfile:1.7
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
WORKDIR /app
RUN groupadd --system videohub && useradd --system --gid videohub --home /nonexistent --shell /usr/sbin/nologin videohub
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN mkdir -p /data /keys /media /tmp/videohub && chown -R videohub:videohub /app /data /keys /media /tmp/videohub
USER videohub
EXPOSE 8000
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=5 CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/server/version',timeout=3).read()"
CMD ["uvicorn","main:app","--host","0.0.0.0","--port","8000"]
