@@ -10,6 +10,10 @@ RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debi
10
10
&& apt-get install -y --no-install-recommends gcc python3-dev \
11
11
&& rm -rf /var/lib/apt/lists/*
12
12
13
+ COPY . /fba
14
+
15
+ WORKDIR /fba
16
+
13
17
# Configure uv environment
14
18
ENV UV_COMPILE_BYTECODE=1 \
15
19
UV_NO_CACHE=1 \
@@ -18,30 +22,27 @@ ENV UV_COMPILE_BYTECODE=1 \
18
22
19
23
# Install dependencies with cache
20
24
RUN --mount=type=cache,target=/root/.cache/uv \
21
- --mount=type=bind,source=uv.lock,target=uv.lock \
22
- --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
23
25
uv sync --frozen --no-default-groups --group server
24
26
25
27
# === Runtime base server image ===
26
28
FROM python:3.10-slim AS base_server
27
29
28
- SHELL ["/bin/bash" , "-c" ]
29
-
30
30
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources \
31
31
&& apt-get update \
32
32
&& apt-get install -y --no-install-recommends supervisor \
33
33
&& rm -rf /var/lib/apt/lists/*
34
34
35
- COPY . /fba
35
+ COPY --from=builder /fba /fba
36
36
37
37
COPY --from=builder /usr/local /usr/local
38
38
39
+ COPY deploy/backend/supervisord.conf /etc/supervisor/supervisord.conf
40
+
39
41
# === FastAPI server image ===
40
42
FROM base_server AS fastapi_server
41
43
42
44
WORKDIR /fba
43
45
44
- COPY deploy/backend/supervisord.conf /etc/supervisor/supervisord.conf
45
46
COPY deploy/backend/fastapi_server.conf /etc/supervisor/conf.d/
46
47
47
48
RUN mkdir -p /var/log/fastapi_server
@@ -53,9 +54,8 @@ CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port","8000"]
53
54
# === Celery server image ===
54
55
FROM base_server AS celery
55
56
56
- WORKDIR /fba/backend/
57
+ WORKDIR /fba/backend
57
58
58
- COPY deploy/backend/supervisord.conf /etc/supervisor/supervisord.conf
59
59
COPY deploy/backend/celery.conf /etc/supervisor/conf.d/
60
60
61
61
RUN mkdir -p /var/log/celery
0 commit comments