From 19db342507750d87c504628441eceb52cc5fbce2 Mon Sep 17 00:00:00 2001 From: shiran <2488252513@qq.com> Date: Sat, 9 May 2026 17:44:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(server):=20=E6=B7=BB=E5=8A=A0pip=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E6=BA=90=E9=85=8D=E7=BD=AE=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加清华PyPI镜像源配置选项到环境变量文件,包括 PIP_INDEX_URL、PIP_TRUSTED_HOST和PIP_DEFAULT_TIMEOUT参数, 用于加速Docker构建过程中的包安装速度。 在docker-compose.yml中将这些参数作为构建参数传递给 Docker容器,并在Dockerfile中接收并设置为环境变量, 同时移除pip install的--no-cache-dir参数以利用缓存。 --- .env.example | 3 +++ docker-compose.yml | 4 ++++ server/Dockerfile | 10 +++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 356ccb1..4a001ba 100644 --- a/.env.example +++ b/.env.example @@ -19,6 +19,9 @@ S3_SECRET_KEY=change-me-minio-password S3_BUCKET=ciyuan-viewfinder # Server +PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple +PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn +PIP_DEFAULT_TIMEOUT=120 DATABASE_URL=postgresql+asyncpg://shiran:change-me-postgres-password@postgres:5432/ciyuan_viewfinder DATABASE_URL_SYNC=postgresql://shiran:change-me-postgres-password@postgres:5432/ciyuan_viewfinder SECRET_KEY=change-me-before-production diff --git a/docker-compose.yml b/docker-compose.yml index 5e87e95..b4ab8d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,6 +59,10 @@ services: server: build: context: ./server + args: + PIP_INDEX_URL: "${PIP_INDEX_URL}" + PIP_TRUSTED_HOST: "${PIP_TRUSTED_HOST}" + PIP_DEFAULT_TIMEOUT: "${PIP_DEFAULT_TIMEOUT}" container_name: ciyuan-server environment: DATABASE_URL: "${DATABASE_URL}" diff --git a/server/Dockerfile b/server/Dockerfile index 08f9d02..9d0d9ed 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -4,10 +4,18 @@ ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 +ARG PIP_INDEX_URL +ARG PIP_TRUSTED_HOST +ARG PIP_DEFAULT_TIMEOUT=120 + +ENV PIP_INDEX_URL=${PIP_INDEX_URL} \ + PIP_TRUSTED_HOST=${PIP_TRUSTED_HOST} \ + PIP_DEFAULT_TIMEOUT=${PIP_DEFAULT_TIMEOUT} + WORKDIR /app COPY requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt +RUN pip install -r requirements.txt COPY . .