chore: use 1Panel images and add dependency mirror fallback

This commit is contained in:
2026-10-23 22:44:16 +08:00
parent 7e2a4157aa
commit 343f66976c
2 changed files with 60 additions and 10 deletions
+35 -5
View File
@@ -23,7 +23,7 @@ HTTPS 反向代理部署时,在配置中设置 `server.public_origin: "https:/
## Docker Compose 部署
需要 Docker Engine 和 Docker Compose v2。Compose 使用现有多阶段 Dockerfile
构建前后端,容器以 UID/GID 10001 运行,SQLite 保存在命名卷 router-data 中。
构建前后端,容器以 UID/GID 10001 运行,SQLite 保存在宿主机 ./data 目录中。
首次部署时创建配置(如果已有 config.yaml,请备份并编辑,不要覆盖):
@@ -33,6 +33,8 @@ openssl rand -hex 32
# 将生成的随机值填入 config.yaml 的 admin.password
sudo chown 10001:10001 config.yaml
sudo chmod 600 config.yaml
sudo mkdir -p data
sudo chown 10001:10001 data
docker compose config --quiet
docker compose up -d --build
docker compose ps
@@ -60,13 +62,41 @@ HTTPS 反向代理,同时设置 server.public_origin 并禁用 SSE 代理缓
docker compose logs -f --tail=100
docker compose up -d --build # 更新源码后重新构建和部署
docker compose restart # 修改配置文件后重启
docker compose down # 停止并删除容器,保留数据库卷
docker compose down # 停止并删除容器,保留宿主机 data 目录
```
不要执行 docker compose down -v,除非明确要删除数据库卷。
首次启动使用独立的新数据库,不会自动导入本地运行的数据。
目录挂载的数据不会被 docker compose down -v 删除,仍需自行备份。
不会自动导入旧命名卷 router-data 中的数据。
迁移时先停止旧服务,备份原数据库目录(含可能存在的 WAL/SHM 文件),
再将数据复制到命名卷并确保 UID/GID 10001 可读写;不要让两套服务同时写同一数据库。
再将数据复制到 ./data 并确保 UID/GID 10001 可读写;不要让两套服务同时写同一数据库。
### 国内镜像源构建
默认无需指定参数,直接运行 `docker compose up -d --build` 即可自动回退:
- npm:优先官方源,安装失败后使用 npmmirror 重试一次。
- Go:依次尝试官方代理、goproxy.cn、直接获取;使用 `|` 分隔,任意代理错误均可回退。
- Alpine:优先官方源,安装失败后使用阿里云源重试一次。
这不是按地区或测速选择;npm / apk 的单次网络等待有限时,Go 使用自身网络超时。
若所有来源均失败,构建仍会报错,不跳过依赖。可通过构建参数固定依赖源(不再自动切换):
```sh
docker compose build \
--build-arg NPM_REGISTRY=https://registry.npmmirror.com \
--build-arg GOPROXY=https://goproxy.cn,direct \
--build-arg ALPINE_MIRROR=https://mirrors.aliyun.com/alpine
docker compose up -d
```
这些参数也适用于 docker build。Go 仍保留模块校验,不关闭 GOSUMDB。
镜像源可用性取决于网络环境,请只使用可信源。
FROM 基础镜像默认使用 1Panel 镜像源 docker.1panel.live/library/,
分别拉取 node:24-alpine、golang:1.26-alpine、alpine:3.23。
可通过 NODE_IMAGE、GO_IMAGE、ALPINE_IMAGE 构建参数覆盖完整镜像地址,
例如 `--build-arg NODE_IMAGE=node:24-alpine` 改回 Docker Hub 的 Node 镜像。
基础镜像拉取失败不会自动回退,需手动替换地址;依赖软件包仍使用上述自动回退策略。
## 渠道与模型映射