| 123456789101112131415161718192021222324252627282930313233 |
- # ── 运行镜像 ──
- FROM python:3.12-slim
- ENV TZ=Asia/Shanghai
- RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
- WORKDIR /app
- COPY .venv-packages.tar.gz /tmp/pkgs.tar.gz
- RUN tar xzf /tmp/pkgs.tar.gz -C /usr/local/lib/python3.12/site-packages/ && \
- rm /tmp/pkgs.tar.gz
- COPY app/ app/
- COPY src/ src/
- COPY data/ data/
- RUN useradd -m -u 1000 appuser && \
- chown -R appuser:appuser /app && \
- mkdir -p /data/chroma_db && \
- chown -R appuser:appuser /data
- USER appuser
- EXPOSE 9000
- CMD ["python3", "-m", "gunicorn", "app.main:app", \
- "--worker-class", "uvicorn.workers.UvicornWorker", \
- "--bind", "0.0.0.0:9000", \
- "--workers", "2", \
- "--timeout", "300", \
- "--keep-alive", "10", \
- "--access-logfile", "-", \
- "--error-logfile", "-"]
|