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