fix(deploy): 一键部署 - 避免 GHCR 匿名拉取失败 (#26) (#32)

Co-authored-by: linxi <linxi@enjoysoftware.cn>
This commit is contained in:
naidalaoandlinxi authored and GitHub committed 2026-07-23 14:04:54 +08:00
1 parent b906eb9ac4
commit f26f9983bc
4 files changed
+30 -19

No files matched your search

+5 -5
View File
@@ -75,7 +75,7 @@ Issue 反馈、技术讨论和产品升级建议都可以在 QQ 群中沟通。
curl -fsSL https://raw.githubusercontent.com/ddcat-ai/open-ai-canvas/main/scripts/install-server.sh | sudo bash
```
脚本会自动安装 Docker 和 Docker Compose,把部署配置安装到 `/opt/open-ai-canvas`,生成随机数据库密码,从 GitHub Container Registry 拉取网页与后端镜像,并启动网页、后端、PostgreSQL 和 Redis。数据库和上传文件使用 Docker 数据卷持久保存,重新启动容器不会丢失。
脚本会自动安装 Docker 和 Docker Compose,把项目源码安装到 `/opt/open-ai-canvas`,生成随机数据库密码,在服务器本地构建网页与后端镜像,并启动网页、后端、PostgreSQL 和 Redis。该流程不依赖 GitHub Container Registry(GHCR)的匿名拉取权限;数据库和上传文件使用 Docker 数据卷持久保存,重新启动容器不会丢失。
完成后打开 `http://服务器IP:3000`。第一个注册的账号会自动成为管理员;登录后在系统设置中配置模型渠道即可开始使用。公开注册默认关闭,但不影响第一个管理员注册。
@@ -83,11 +83,11 @@ curl -fsSL https://raw.githubusercontent.com/ddcat-ai/open-ai-canvas/main/script
```bash
cd /opt/open-ai-canvas
sudo docker compose --env-file .env -f docker-compose.deploy.yml ps
sudo docker compose --env-file .env -f docker-compose.deploy.yml logs -f --tail=200
sudo docker compose --env-file .env -f docker-compose.deploy.yml -f docker-compose.build.yml ps
sudo docker compose --env-file .env -f docker-compose.deploy.yml -f docker-compose.build.yml logs -f --tail=200
```
默认拉取 `ghcr.io/ddcat-ai/open-ai-canvas-web:latest` 和 `ghcr.io/ddcat-ai/open-ai-canvas-backend:latest`。发布版本还会生成去掉 `v` 前缀的版本标签;如需固定版本,可在 `.env` 中设置 `CANVAS_IMAGE_TAG=1.0.2`。
首次部署需要下载构建依赖并编译前后端,耗时和资源占用会高于直接拉取镜像;后续更新会复用 Docker 构建缓存。需要固定代码版本时,可通过 `REPOSITORY_REF` 指定分支或标签。
### 直接使用 GitHub Packages 镜像
@@ -97,7 +97,7 @@ sudo docker compose --env-file .env -f docker-compose.deploy.yml logs -f --tail=
curl -fsSL https://raw.githubusercontent.com/ddcat-ai/open-ai-canvas/main/scripts/install-server-image.sh | sudo bash
```
默认使用 `latest` 标签。固定版本或修改端口可在首次执行后编辑 `/opt/open-ai-canvas/.env`,然后重新执行脚本;使用私有 GHCR 镜像时,请先执行 `docker login ghcr.io`,或在直接运行脚本时提供 `GHCR_USERNAME` 和 `GHCR_TOKEN` 环境变量完成登录。
该快速脚本仍依赖 GHCR 容器包的可见性。容器包尚未公开时,必须先执行 `docker login ghcr.io`,或在直接运行脚本时提供 `GHCR_USERNAME` 和 `GHCR_TOKEN` 环境变量完成登录;未配置凭据时请使用上方推荐的源码构建脚本。默认使用 `latest` 标签,固定版本或修改端口可在首次执行后编辑 `/opt/open-ai-canvas/.env`,然后重新执行脚本。
部署配置和 PostgreSQL 密码保存在 `/opt/open-ai-canvas/.env`,不要发送给他人,也不要删除 `backend-data`、`postgres-data` 和 `redis-data` 数据卷。数据卷持久化不等于备份,请定期备份 PostgreSQL 和上传文件。直接使用 IP 访问仅适合首次配置;公网长期使用必须绑定域名并配置 HTTPS。