推送 v 开头的 tag 时自动执行: - frontend: 前端只构建一次(含 vue-tsc 类型检查),产物由各平台共用, 保证所有二进制内嵌的前端完全一致 - build: 交叉编译 linux/windows/darwin 的 amd64 与 arm64 共 5 个目标, 打包时附带 README/LICENSE/docs - release: 汇总产物、生成 checksums.txt、创建 Release(自动生成发布说明) - docker: buildx 构建 amd64+arm64 镜像推送 ghcr,标签按 semver 展开 Dockerfile 改为交叉编译友好:前端与后端构建阶段固定在 BUILDPLATFORM, 用 TARGETARCH 做 Go 交叉编译,避免构建 arm64 镜像时 npm 与 go build 被丢进 QEMU 执行。同时补上 -trimpath。 只使用内置 GITHUB_TOKEN,无需额外 secret。 文档: 新增 docs/release.md,README 补充镜像拉取与二进制下载说明, docker-compose 默认镜像改为 ghcr。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
16 lines
470 B
YAML
16 lines
470 B
YAML
services:
|
|
goodbaby:
|
|
# 发版镜像由 GitHub Actions 自动推送到 ghcr
|
|
image: ghcr.io/ssdomei232/goodbaby:latest
|
|
# 想用本地源码构建时把上面一行注释掉,保留 build
|
|
build: .
|
|
ports:
|
|
- "8088:8088"
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- GIN_MODE=release
|
|
restart: unless-stopped
|
|
volumes:
|
|
# sqlite 需要写权限,config.json 首次启动会自动生成,不能挂成只读
|
|
- ./data:/app/data
|