Update Dockerfile
Browse files- Dockerfile +33 -1
Dockerfile
CHANGED
|
@@ -1,3 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
| 1 |
|
| 2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# ---- Base Stage ----
|
| 2 |
+
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim AS base
|
| 3 |
+
WORKDIR /app
|
| 4 |
|
| 5 |
+
# ---- Builder Stage ----
|
| 6 |
+
FROM base AS builder
|
| 7 |
+
COPY pyproject.toml .
|
| 8 |
+
RUN uv venv && \
|
| 9 |
+
. .venv/bin/activate && \
|
| 10 |
+
uv pip install . --no-cache-dir
|
| 11 |
|
| 12 |
+
# ---- Final Stage ----
|
| 13 |
+
FROM base AS final
|
| 14 |
+
ENV WARP_LOG_LEVEL=info
|
| 15 |
+
ENV WARP_ACCESS_LOG=true
|
| 16 |
+
ENV OPENAI_LOG_LEVEL=info
|
| 17 |
+
ENV OPENAI_ACCESS_LOG=true
|
| 18 |
+
COPY --from=builder /app/.venv ./.venv
|
| 19 |
+
COPY . .
|
| 20 |
+
|
| 21 |
+
# 解决方案1:处理日志目录
|
| 22 |
+
RUN mkdir -p /tmp/logs && \
|
| 23 |
+
chmod 777 /tmp/logs && \
|
| 24 |
+
ln -s /tmp/logs /app/logs
|
| 25 |
+
|
| 26 |
+
# 解决方案2:处理 .env 文件
|
| 27 |
+
RUN cp .env /tmp/.env && \
|
| 28 |
+
chmod 666 /tmp/.env && \
|
| 29 |
+
ln -sf /tmp/.env /app/.env
|
| 30 |
+
|
| 31 |
+
# 暴露端口
|
| 32 |
+
EXPOSE 8010
|
| 33 |
+
EXPOSE 8000
|
| 34 |
+
|
| 35 |
+
CMD ["./.venv/bin/python", "./start.py"]
|