2025-12-19 15:51:21 +08:00
|
|
|
# 构建镜像:编译环境 + 预编译的依赖
|
2025-12-11 18:31:53 +08:00
|
|
|
# 用于 GitHub Actions CI 构建(不使用国内镜像源)
|
2025-12-19 15:51:21 +08:00
|
|
|
# 构建命令: docker build -f Dockerfile.base -t aether-base:latest .
|
2025-12-19 16:02:38 +08:00
|
|
|
# 只在 pyproject.toml 或 frontend/package*.json 变化时需要重建
|
2025-12-10 20:52:44 +08:00
|
|
|
FROM python:3.12-slim
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-12-19 15:51:21 +08:00
|
|
|
# 构建工具
|
2025-12-11 18:31:53 +08:00
|
|
|
RUN apt-get update && apt-get install -y \
|
2025-12-10 20:52:44 +08:00
|
|
|
libpq-dev \
|
|
|
|
|
gcc \
|
|
|
|
|
nodejs \
|
|
|
|
|
npm \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
2025-12-19 15:51:21 +08:00
|
|
|
# Python 依赖
|
2025-12-10 20:52:44 +08:00
|
|
|
COPY pyproject.toml README.md ./
|
|
|
|
|
RUN mkdir -p src && touch src/__init__.py && \
|
2025-12-19 15:51:21 +08:00
|
|
|
SETUPTOOLS_SCM_PRETEND_VERSION=0.1.0 pip install --no-cache-dir . && \
|
|
|
|
|
pip cache purge
|
2025-12-10 20:52:44 +08:00
|
|
|
|
2025-12-19 16:02:38 +08:00
|
|
|
# 前端依赖(只安装,不构建)
|
|
|
|
|
COPY frontend/package*.json ./frontend/
|
|
|
|
|
RUN cd frontend && npm ci
|