mirror of
https://github.com/Gloridust/WechatOnCloud.git
synced 2026-06-16 19:53:53 +08:00
7293285d1a
管理界面此前看不到面板版本,也无从知道有没有新版可升。现在: - 构建时把版本号烤进面板镜像:Dockerfile 新增 ARG/ENV WOC_VERSION(放末尾不 破坏依赖缓存);release.yml 用 git tag 注入(vX.Y.Z,手动触发为 dev-<sha>), 仅面板镜像消费;build-local.sh 支持 --build-arg(默认 dev)。 - 后端 version.ts:best-effort 查询 Docker Hub 与 GHCR 上 woc-panel 的语义化 标签取最大值,与当前版本比对;启动后 4s 首检 + 每 6h 复检 + 接口惰性触发, 失败静默(离线/被墙/私有源不报错、不显红点)。命名空间从 WOC_WECHAT_IMAGE 推断。 - 接口:GET /api/version(任意登录用户读缓存)、POST /api/admin/version/check (管理员手动重查)。 - 前端:管理页「关于」卡显示当前版本/最新版/升级提示/检查更新/发布日志链接; 侧栏「管理」入口在有新版时点红点(仅管理员)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
33 lines
1.6 KiB
Bash
Executable File
33 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 本地构建面板镜像 + 微信实例镜像,打成与 docker-compose.yml 一致的 GHCR 标签。
|
||
# 用途:GHCR 尚未发布(没打 tag)时自测,或自托管者想自己构建而非拉取官方镜像。
|
||
# 构建完成后直接 `docker compose up -d` 即可(compose 默认 pull_policy=missing,会优先用本地镜像)。
|
||
#
|
||
# 用法:
|
||
# ./scripts/build-local.sh # 构建本机架构,标签 latest
|
||
# WOC_VERSION=v1.0.0 ./scripts/build-local.sh # 指定标签(需与 .env 的 WOC_VERSION 一致)
|
||
set -euo pipefail
|
||
|
||
OWNER="${WOC_IMAGE_OWNER:-gloridust}"
|
||
TAG="${WOC_VERSION:-latest}"
|
||
# 烤进面板镜像的版本号:设了 WOC_VERSION 就用它(如 v1.2.0),否则 dev(dev 不会触发「有新版」红点)。
|
||
VER="${WOC_VERSION:-dev}"
|
||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||
|
||
PANEL_IMAGE="ghcr.io/${OWNER}/woc-panel:${TAG}"
|
||
WECHAT_IMAGE="ghcr.io/${OWNER}/wechat-on-cloud:${TAG}"
|
||
|
||
echo "==> 构建面板镜像 ${PANEL_IMAGE} (版本号 ${VER})"
|
||
docker build --build-arg "WOC_VERSION=${VER}" -t "${PANEL_IMAGE}" "${ROOT}/panel"
|
||
|
||
echo "==> 构建微信实例镜像 ${WECHAT_IMAGE}"
|
||
docker build -t "${WECHAT_IMAGE}" "${ROOT}/docker"
|
||
|
||
echo
|
||
echo "完成。本地镜像:"
|
||
# 注意:docker images 只接受一个仓库参数,故用 --filter 各列一次
|
||
docker images --filter "reference=${PANEL_IMAGE}" --format ' {{.Repository}}:{{.Tag}} {{.Size}}'
|
||
docker images --filter "reference=${WECHAT_IMAGE}" --format ' {{.Repository}}:{{.Tag}} {{.Size}}'
|
||
echo
|
||
echo "下一步:docker compose up -d (记得先把 .env 里 WOC_VERSION 设为 ${TAG})"
|