FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ DATA_DIR=/data WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends curl \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY friday_voice ./friday_voice COPY web ./web RUN useradd -r -u 1024 -g users friday \ && mkdir -p /data \ && chown -R 1024:100 /data /app USER 1024:100 EXPOSE 8320 HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=20s \ CMD curl -fsS http://127.0.0.1:8320/health || exit 1 CMD ["uvicorn", "friday_voice.app:app", "--host", "0.0.0.0", "--port", "8320"]