chore: deploy WorthPath from Gitea latest image

This commit is contained in:
陈煜 committed 2026-10-08 13:29:02 +08:00
1 parent b23a1c1e43
commit 40b8d4dc99
5 files changed
+50 -10

No files matched your search

+2
View File
@@ -244,3 +244,5 @@ git config remote.pushDefault github
``` ```
账户工具栏、悬浮毛玻璃底栏与紧凑手机日历已更新,金额在日期详情中完整显示;详见 [界面更新与验收](docs/update-glass-calendar-2026-10-08.md)。 账户工具栏、悬浮毛玻璃底栏与紧凑手机日历已更新,金额在日期详情中完整显示;详见 [界面更新与验收](docs/update-glass-calendar-2026-10-08.md)。
Docker 默认使用 Gitea `latest` 镜像;本地构建推送后,服务器拉取并重建即可更新,见 [Gitea 镜像部署](docs/deploy-gitea-latest.md)。
+1 -1
View File
@@ -1,6 +1,6 @@
services: services:
app: app:
image: worthpath:local image: git.chyuovo.top/chyuovo/worthpath:latest
# 服务器生产环境配置,包含数据库连接、域名和安全开关 # 服务器生产环境配置,包含数据库连接、域名和安全开关
env_file: env_file:
+13 -9
View File
@@ -1,9 +1,13 @@
# WorthPath Docker 部署 # WorthPath Docker 部署
当前 Compose 使用 `git.chyuovo.top/chyuovo/worthpath:latest`。推荐本地构建并推送至 Gitea,服务器执行 `docker compose pull app` 后再 `docker compose up -d --no-build app`;完整命令见 [Gitea latest 部署](docs/deploy-gitea-latest.md)。无需设置版本变量。
以下 tar 导入方式保留用于离线传输,镜像名称与当前 Compose 保持一致。
``` ```
# 打包 # 打包
docker build -t worthpath:local . docker build -t git.chyuovo.top/chyuovo/worthpath:latest .
docker save -o E:\worthpath-local.tar worthpath:local docker save -o E:\worthpath-local.tar git.chyuovo.top/chyuovo/worthpath:latest
``` ```
```shell ```shell
@@ -42,7 +46,7 @@ docker compose logs --tail=100 app
# 更新 # 更新
# 保留旧镜像,方便回退 # 保留旧镜像,方便回退
docker tag worthpath:local worthpath:rollback docker tag git.chyuovo.top/chyuovo/worthpath:latest worthpath:rollback
# 加载新镜像并重新创建应用容器 # 加载新镜像并重新创建应用容器
docker load -i worthpath-local.tar docker load -i worthpath-local.tar
@@ -60,8 +64,8 @@ docker compose logs --since=2m --tail=100 app
本机重新打包镜像并导出(在源码项目目录执行): 本机重新打包镜像并导出(在源码项目目录执行):
```powershell ```powershell
docker build -t worthpath:local . docker build -t git.chyuovo.top/chyuovo/worthpath:latest .
docker save -o E:\worthpath-local.tar worthpath:local docker save -o E:\worthpath-local.tar git.chyuovo.top/chyuovo/worthpath:latest
``` ```
将新的 `worthpath-local.tar` 和 `compose.yaml` 传到服务器 `/opt/worthpath`,同步 Compose 时保留服务器已有的环境文件路径、端口和数据库网络配置。若希望只修改现有 Compose,在 `services.app` 下合并以下配置(不要重复创建已有的 `environment` 或 `volumes` 键): 将新的 `worthpath-local.tar` 和 `compose.yaml` 传到服务器 `/opt/worthpath`,同步 Compose 时保留服务器已有的环境文件路径、端口和数据库网络配置。若希望只修改现有 Compose,在 `services.app` 下合并以下配置(不要重复创建已有的 `environment` 或 `volumes` 键):
@@ -88,7 +92,7 @@ docker compose ps
docker compose logs --tail=100 app docker compose logs --tail=100 app
``` ```
上述使用 `worthpath:local`,服务器 Compose 的 `image` 标签需要一致。Compose 已设置容器路径,已有 `.env.production` 无需额外添加变量。启动时现有内置图标也会自动落盘,因此尚未上传图片时目录也可能已有 PNG。随后在网页上传一张图标,可在服务器执行 `find /opt/worthpath/data/icons -maxdepth 1 -type f -name '*.png'` 检查文件。 上述使用 `git.chyuovo.top/chyuovo/worthpath:latest`,服务器 Compose 的 `image` 标签需要一致。Compose 已设置容器路径,已有 `.env.production` 无需额外添加变量。启动时现有内置图标也会自动落盘,因此尚未上传图片时目录也可能已有 PNG。随后在网页上传一张图标,可在服务器执行 `find /opt/worthpath/data/icons -maxdepth 1 -type f -name '*.png'` 检查文件。
## 部署结构 ## 部署结构
@@ -104,7 +108,7 @@ WorthPath 应用容器
已有 MySQL 数据库 已有 MySQL 数据库
``` ```
本仓库的 `compose.yaml` 只管理应用,不创建数据库。需要已有 MySQL 8+、已创建的 `worthpath` 数据库及可用的数据库账号。Compose 使用命名镜像,可通过 `WORTHPATH_IMAGE_TAG` 区分版本。运行镜像保留 Prisma CLI 和相关依赖,以便单独执行迁移,不包含后端源码、测试或前端开发目录。 本仓库的 `compose.yaml` 只管理应用,不创建数据库。需要已有 MySQL 8+、已创建的 `worthpath` 数据库及可用的数据库账号。Compose 使用 Gitea 的 `latest` 镜像;如需固定历史版本,应显式修改 `image` 标签。运行镜像保留 Prisma CLI 和相关依赖,以便单独执行迁移,不包含后端源码、测试或前端开发目录。
上传图标持久化到宿主机 `/opt/worthpath/data/icons`,Compose 将它绑定到容器 `/app/data/icons`,并设置 `ICON_STORAGE_DIR=/app/data/icons`。使用 SHA-256 作为 PNG 文件名,相同内容去重。上传及 ZIP 恢复时写入文件;应用启动时分批补齐数据库中的已有图标。数据库继续保留图片内容,支持现有自包含 ZIP 备份,并可自动修复缺失或损坏的图标文件。图标访问仍通过带身份与可见性校验的 `/api/icons/:id/image` 接口;不要将该目录作为 Nginx 静态目录公开。 上传图标持久化到宿主机 `/opt/worthpath/data/icons`,Compose 将它绑定到容器 `/app/data/icons`,并设置 `ICON_STORAGE_DIR=/app/data/icons`。使用 SHA-256 作为 PNG 文件名,相同内容去重。上传及 ZIP 恢复时写入文件;应用启动时分批补齐数据库中的已有图标。数据库继续保留图片内容,支持现有自包含 ZIP 备份,并可自动修复缺失或损坏的图标文件。图标访问仍通过带身份与可见性校验的 `/api/icons/:id/image` 接口;不要将该目录作为 Nginx 静态目录公开。
@@ -148,7 +152,7 @@ docker run --rm hello-world
```powershell ```powershell
cd E:\WorthPath cd E:\WorthPath
docker build -t worthpath:local . docker build -t git.chyuovo.top/chyuovo/worthpath:latest .
``` ```
如果 Docker 能运行但构建下载失败,检查错误对应的镜像仓库/npm/Debian 源网络和 Docker Desktop 代理配置,避免修改业务数据库配置来解决下载问题。 如果 Docker 能运行但构建下载失败,检查错误对应的镜像仓库/npm/Debian 源网络和 Docker Desktop 代理配置,避免修改业务数据库配置来解决下载问题。
@@ -293,7 +297,7 @@ curl -I -H 'Host: worthpath.example.com' http://127.0.0.1:3100/
## 6. 更新与回退 ## 6. 更新与回退
建议为每次发布使用唯一版本标签,例如: 默认发布与部署使用 `latest`。如需额外保存历史版本,可以另加唯一标签;服务器要部署该固定版本时需同步修改 Compose 的 `image`,例如:
```bash ```bash
export WORTHPATH_IMAGE_TAG=20261005-1 export WORTHPATH_IMAGE_TAG=20261005-1
+32
View File
@@ -0,0 +1,32 @@
# Gitea latest 镜像发布与更新
完成时间:2026-10-08 13:28(UTC+8)。
Compose 固定使用 git.chyuovo.top/chyuovo/worthpath:latest,不再需要 WORTHPATH_VERSION。latest 是可覆盖的标签;本地推送新镜像后,服务器仍需要主动拉取并重建容器。
本地在项目根目录执行:
```powershell
docker login git.chyuovo.top
docker build -t git.chyuovo.top/chyuovo/worthpath:latest .
docker push git.chyuovo.top/chyuovo/worthpath:latest
```
服务器首次同步新的 compose.yaml,并确认 Gitea 容器仓库可用、已有镜像和所需拉取权限。现有环境文件、端口、数据库网络与图标挂载保持原配置。
服务器更新:
```bash
cd /opt/worthpath
docker login git.chyuovo.top
docker compose pull app
docker compose up -d --no-build app
docker compose ps
docker compose logs --tail=100 app
```
日常已登录后可以省略登录命令。仅重启容器不会拉取新镜像。若发布包含数据库迁移,先备份数据库,再于拉取后按既有流程执行 docker compose run --rm app node scripts/database.cjs deploy,成功后再替换应用。
需要保留回退镜像时,在拉取前给当前本地镜像加独立标签;不要将 latest 当作历史版本标识。本次仅修改配置和文档,未登录、构建、推送或部署,服务器连通性尚未验证。
参考:[Gitea Container Registry](https://docs.gitea.com/usage/packages/container/) 与 [Docker Compose up](https://docs.docker.com/reference/cli/docker/compose/up/)。
+2
View File
@@ -112,3 +112,5 @@
- ~~严格按照原作者仓库 apple-design 及适用的其他设计 skill 更新 Apple 风格 UI~~ — 已完成并验证:2026-10-07 18:06(UTC+8),见 docs/update-mobile-navigation-2026-10-07.md - ~~严格按照原作者仓库 apple-design 及适用的其他设计 skill 更新 Apple 风格 UI~~ — 已完成并验证:2026-10-07 18:06(UTC+8),见 docs/update-mobile-navigation-2026-10-07.md
- ~~优化账户页工具栏 UI、手机底栏采用悬浮毛玻璃效果、改善手机日历显示~~ — 已完成并验证:2026-10-08 13:02(UTC+8),见 docs/update-glass-calendar-2026-10-08.md - ~~优化账户页工具栏 UI、手机底栏采用悬浮毛玻璃效果、改善手机日历显示~~ — 已完成并验证:2026-10-08 13:02(UTC+8),见 docs/update-glass-calendar-2026-10-08.md
- ~~Docker Compose 改用 Gitea latest 镜像,更新发布与服务器拉取说明~~ — 已完成配置与文档:2026-10-08 13:28(UTC+8);尚未实际构建、推送或部署,见 docs/deploy-gitea-latest.md