Files
NovalRedot/Dockerfile

35 lines
781 B
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ── 阶段一:构建前端 ──
FROM node:20-alpine AS frontend-build
WORKDIR /app/frontend
COPY frontend/package.json frontend/package-lock.json* ./
RUN npm ci
COPY frontend/ ./
RUN npm run build-only
# ── 阶段二:运行后端 + 服务前端静态文件 ──
FROM python:3.12-slim
WORKDIR /app
# 安装 Python 依赖
COPY backend/requirements.txt ./requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# 复制后端代码
COPY backend/app ./app
# 复制前端构建产物到后端静态目录
COPY --from=frontend-build /app/frontend/dist ./static
# 数据目录SQLite 存储)
RUN mkdir -p /app/data
VOLUME /app/data
ENV NOVAL_DATA_DIR=/app/data
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]