chore: deploy WorthPath from Gitea latest image
This commit is contained in:
1 parent
b23a1c1e43
commit
40b8d4dc99
5 files changed
+50
-10
No files matched your search
@@ -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
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: worthpath:local
|
image: git.chyuovo.top/chyuovo/worthpath:latest
|
||||||
|
|
||||||
# 服务器生产环境配置,包含数据库连接、域名和安全开关
|
# 服务器生产环境配置,包含数据库连接、域名和安全开关
|
||||||
env_file:
|
env_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
|
||||||
|
|||||||
@@ -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/)。
|
||||||
@@ -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
|
||||||
Reference in new issue
Block a user