FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_COMPILE=1 \ PORT=8001 WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends \ ffmpeg \ libgl1 \ libglib2.0-0 \ libgomp1 \ && rm -rf /var/lib/apt/lists/* COPY requirements-docker.txt ./ RUN pip install --no-cache-dir --no-compile -r requirements-docker.txt COPY backend ./backend COPY frontend ./frontend COPY scripts ./scripts COPY storage/samples ./storage/samples RUN mkdir -p /app/storage/uploads /app/storage/jobs EXPOSE 8001 HEALTHCHECK --interval=10s --timeout=5s --retries=6 --start-period=20s \ CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8001/api/health', timeout=3).read()" CMD ["sh", "-c", "python -m uvicorn backend.main:app --host 0.0.0.0 --port ${PORT:-8001}"]