From 1c3e306e36b97b5d68c9e1e819f31d195e3ebba1 Mon Sep 17 00:00:00 2001 From: yml Date: Wed, 8 Apr 2026 17:05:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8B=E8=BD=BD=E9=80=9F?= =?UTF-8?q?=E5=BA=A6,=20=E9=85=8D=E7=BD=AE=E9=95=9C=E5=83=8F=E7=AB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 +++++++++++++++++ deploy/docker/backend.Dockerfile | 18 +++++++++++++++++- deploy/docker/frontend.Dockerfile | 4 ++++ docs/服务器部署教程.md | 18 ++++++++++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ed6b07b..86807d36 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,23 @@ docker compose build docker compose up -d ``` +当前 Dockerfile 已默认针对国内服务器优化以下下载源: + +- Debian `apt` 使用腾讯云镜像 +- `npm` 使用 `npmmirror` +- Playwright 浏览器下载在 `amd64` 下默认使用 `npmmirror`,其他架构回退官方源 +- `uv` / `pip` 使用腾讯云 PyPI 镜像 + +如果你的服务器网络环境不同,也可以在构建时覆盖: + +```bash +docker compose build \ + --build-arg DEBIAN_MIRROR=mirrors.tuna.tsinghua.edu.cn \ + --build-arg NPM_REGISTRY=https://registry.npmjs.org \ + --build-arg PLAYWRIGHT_DOWNLOAD_HOST=https://playwright.azureedge.net \ + --build-arg UV_DEFAULT_INDEX=https://pypi.org/simple +``` + 默认入口: - 前端与领取页:`https://你的域名/` diff --git a/deploy/docker/backend.Dockerfile b/deploy/docker/backend.Dockerfile index 81462431..b079549d 100644 --- a/deploy/docker/backend.Dockerfile +++ b/deploy/docker/backend.Dockerfile @@ -1,11 +1,23 @@ FROM node:22-bookworm +ARG DEBIAN_MIRROR=mirrors.cloud.tencent.com +ARG NPM_REGISTRY=https://registry.npmmirror.com +ARG PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright +ARG UV_DEFAULT_INDEX=https://mirrors.cloud.tencent.com/pypi/simple +ARG TARGETARCH + ENV DEBIAN_FRONTEND=noninteractive ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright ENV UV_LINK_MODE=copy +ENV UV_DEFAULT_INDEX=${UV_DEFAULT_INDEX} +ENV PIP_INDEX_URL=${UV_DEFAULT_INDEX} +ENV NPM_CONFIG_REGISTRY=${NPM_REGISTRY} WORKDIR /app +RUN sed -i "s|http://deb.debian.org/debian|https://${DEBIAN_MIRROR}/debian|g" /etc/apt/sources.list.d/debian.sources \ + && sed -i "s|http://security.debian.org/debian-security|https://${DEBIAN_MIRROR}/debian-security|g" /etc/apt/sources.list.d/debian.sources + RUN apt-get update \ && apt-get install -y --no-install-recommends curl ca-certificates python3 python3-pip \ && rm -rf /var/lib/apt/lists/* @@ -16,7 +28,11 @@ RUN curl -LsSf https://astral.sh/uv/install.sh | sh \ COPY apps/backend/package.json apps/backend/package-lock.json ./ RUN npm ci -RUN npx playwright install --with-deps chromium +RUN if [ "${TARGETARCH}" = "amd64" ]; then \ + PLAYWRIGHT_DOWNLOAD_HOST="${PLAYWRIGHT_DOWNLOAD_HOST}" npx playwright install --with-deps chromium; \ + else \ + npx playwright install --with-deps chromium; \ + fi COPY apps/backend/ ./ diff --git a/deploy/docker/frontend.Dockerfile b/deploy/docker/frontend.Dockerfile index a51f3744..dbf4c39b 100644 --- a/deploy/docker/frontend.Dockerfile +++ b/deploy/docker/frontend.Dockerfile @@ -1,5 +1,9 @@ FROM node:22-bookworm AS builder +ARG NPM_REGISTRY=https://registry.npmmirror.com + +ENV NPM_CONFIG_REGISTRY=${NPM_REGISTRY} + WORKDIR /app COPY apps/frontend/package.json apps/frontend/package-lock.json ./ diff --git a/docs/服务器部署教程.md b/docs/服务器部署教程.md index 9e435869..38ac0818 100644 --- a/docs/服务器部署教程.md +++ b/docs/服务器部署教程.md @@ -74,6 +74,24 @@ docker compose build docker compose up -d ``` +如果服务器在国内,当前版本默认已启用国内镜像源加速: + +- Debian `apt`:腾讯云镜像 +- `npm`:`npmmirror` +- Playwright:`amd64` 默认走 `npmmirror`,其他架构自动回退官方源 +- `uv` / `pip`:腾讯云 PyPI 镜像 + +如果你要切换成别的源,可以手动执行: + +```bash +docker compose build \ + --build-arg DEBIAN_MIRROR=mirrors.tuna.tsinghua.edu.cn \ + --build-arg NPM_REGISTRY=https://registry.npmmirror.com \ + --build-arg PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright \ + --build-arg UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple +docker compose up -d +``` + 查看运行状态: ```bash