Spaces:
Sleeping
Sleeping
File size: 755 Bytes
ca5f288 e83859c ca5f288 e83859c ca5f288 e83859c ca5f288 e83859c ca5f288 e83859c 09f9bba e83859c 09f9bba e83859c 09f9bba e83859c ca5f288 09f9bba |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# =========================
# 1) Web build stage
# =========================
FROM node:20-slim AS web_builder
WORKDIR /web
COPY web/package*.json ./
RUN npm install
COPY web/ ./
RUN npm run build # -> outputs /web/build (per your log)
# =========================
# 2) API runtime stage
# =========================
FROM python:3.11-slim
WORKDIR /app
# ---- Python deps ----
COPY requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt
# ---- Copy API source ----
COPY api/ /app/api/
# ---- Copy built web assets ----
COPY --from=web_builder /web/build /app/web/build
# ---- Run API (serves web build too) ----
ENV PORT=7860
EXPOSE 7860
CMD ["uvicorn", "api.server:app", "--host", "0.0.0.0", "--port", "7860"]
|