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>
28 lines
784 B
Docker
28 lines
784 B
Docker
# 面板镜像:前端 Vite 打包 + 后端 Fastify 网关(多架构 amd64/arm64)
|
||
|
||
# --- 1) 构建前端 ---
|
||
FROM node:22-slim AS web
|
||
WORKDIR /web
|
||
COPY web/package.json ./
|
||
RUN npm install
|
||
COPY web/ ./
|
||
RUN npm run build
|
||
|
||
# --- 2) 后端运行时 ---
|
||
FROM node:22-slim AS runtime
|
||
WORKDIR /app
|
||
ENV NODE_ENV=production
|
||
COPY server/package.json ./
|
||
RUN npm install
|
||
COPY server/ ./
|
||
COPY --from=web /web/dist ./web-dist
|
||
|
||
# 构建版本号:CI 用 git tag 注入(vX.Y.Z),本地构建默认 dev。烤进镜像 → 面板运行时显示真实版本并据此检测更新。
|
||
# 放在末尾:改版本号不会破坏上面的依赖安装缓存。
|
||
ARG WOC_VERSION=dev
|
||
ENV WOC_VERSION=${WOC_VERSION} \
|
||
STATIC_DIR=/app/web-dist \
|
||
PORT=8080
|
||
EXPOSE 8080
|
||
CMD ["npm", "run", "start"]
|