feat(update): 支持 Docker Compose 页面一键升级并发布 v1.3.0
CI / verify (push) Canceled after 0s

This commit is contained in:
2026-09-27 18:43:34 +08:00
parent 32dfe3b6de
commit 163df0c5b0
29 changed files with 1541 additions and 10 deletions
+34
View File
@@ -25,6 +25,7 @@ services:
NODE_IMAGE: ${NODE_IMAGE:-docker.m.daocloud.io/library/node:22-alpine}
GO_IMAGE: ${GO_IMAGE:-docker.m.daocloud.io/library/golang:1.23-bookworm}
RUNTIME_IMAGE: ${RUNTIME_IMAGE:-docker.m.daocloud.io/library/debian:bookworm-slim}
UPDATER_IMAGE: ${UPDATER_IMAGE:-docker.m.daocloud.io/library/docker:27-cli}
GOPROXY: ${GOPROXY:-https://goproxy.cn,direct}
image: fonu:${FONU_VERSION:-local}
# 有 build 段时 compose 默认会先尝试拉同名镜像(日志里那条 "fonu Pulling" 就是),
@@ -32,6 +33,8 @@ services:
pull_policy: build
container_name: fonu
restart: unless-stopped
depends_on:
- updater
ports:
- "6893:6893"
- "18080:80"
@@ -41,14 +44,45 @@ services:
# 想落到指定目录就在同层 .env 里设 FONU_DATA_PATH=/vol1/docker/fonu-data ——
# 以 / 或 . 开头的写法会被 compose 当成 bind mount,其余字符串仍是命名卷。
- ${FONU_DATA_PATH:-fonu-data}:/data
- fonu-updater-sock:/run/fonu-updater
environment:
FONU_DATA_DIR: /data
FONU_LISTEN: :6893
FONU_UPDATER_SOCKET: /run/fonu-updater/updater.sock
# 留空即自动:应用会在数据目录里生成并持久化 <DataDir>/session_secret(0600)
# 想自己指定就在同层 .env 里设这个变量;注意它同时是凭据加密密钥,已有数据后不要更换
FONU_SESSION_SECRET: ${FONU_SESSION_SECRET:-}
# 时区:通知消息时间按此显示(默认东八区)
TZ: ${TZ:-Asia/Shanghai}
# 受限升级 sidecar:只有它持有 Docker Socket,主程序通过共享 Unix Socket 触发
updater:
build:
context: http://45.207.223.190:10082/mrlee/-Fonu.git#main
target: updater
args:
GO_IMAGE: ${GO_IMAGE:-docker.m.daocloud.io/library/golang:1.23-bookworm}
UPDATER_IMAGE: ${UPDATER_IMAGE:-docker.m.daocloud.io/library/docker:27-cli}
GOPROXY: ${GOPROXY:-https://goproxy.cn,direct}
image: fonu-updater:${FONU_VERSION:-local}
pull_policy: build
container_name: fonu-updater
restart: unless-stopped
volumes:
- ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock
- .:/workspace
- fonu-updater-sock:/run/fonu-updater
environment:
FONU_UPDATER_SOCKET: /run/fonu-updater/updater.sock
FONU_UPDATE_PROJECT_DIR: /workspace
FONU_UPDATE_COMPOSE_FILE: docker-compose.hub.yml
FONU_UPDATE_SERVICE: fonu
FONU_UPDATE_MODE: git
FONU_UPDATE_REPO: http://45.207.223.190:10082/mrlee/-Fonu.git
FONU_UPDATE_BRANCH: main
FONU_UPDATE_APP_URL: http://fonu:6893
TZ: ${TZ:-Asia/Shanghai}
volumes:
fonu-data:
fonu-updater-sock: