31 lines
693 B
Docker
31 lines
693 B
Docker
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"]
|