Files
Havline/docker-compose.yml
T
mrlee ac5d98330e feat(docker,docs): 数据目录可通过 FONU_DATA_PATH 指定(默认仍为命名卷),新增容器部署与数据指南(v1.2.19)
- 三个 compose 的挂载改为 \:/data:默认命名卷不变(老用户升级不受影响),在同层 .env 写 FONU_DATA_PATH=/vol1/docker/fonu-data 即可落到指定宿主机目录

- 新增 docs/container-deploy-and-data.md:编排文件选择、干净机器部署、数据目录与迁移(含从命名卷拷到宿主机目录)、备份三条注意(务必带上 session_secret)、升级与回滚、环境变量速查、常见问题排查

- 本轮不涉及 Go 代码,安装包未重出(dist 里 1.2.17 仍可用)
2026-09-27 15:31:26 +08:00

40 lines
1.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 固定项目名:不改的话,改了目录名/项目名后 compose 会把它当成新项目,
# fonu-data 会变成新空卷(看起来像「数据丢了」)。
name: fonu
# 本地项目:用源码构建镜像(镜像名随 VERSION 变,便于回滚;也便于导出 / 备份)
# 升级:docker compose up -d --build(或在部署机跑 scripts/upgrade.sh)
# 回滚:FONU_VERSION=上一个版本号 docker compose up -d(镜像 tag 还在本地)
services:
fonu:
build:
context: .
args:
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}
GOPROXY: ${GOPROXY:-https://goproxy.cn,direct}
image: fonu:${FONU_VERSION:-local}
container_name: fonu
restart: unless-stopped
ports:
- "6893:6893"
- "18080:80"
- "9443:443"
volumes:
# 数据目录:默认用命名卷 fonu-data(由 Docker 管理,位置随 Docker 数据根)。
# 想落到指定目录就在同层 .env 里设 FONU_DATA_PATH=/vol1/docker/fonu-data ——
# 以 / 或 . 开头的写法会被 compose 当成 bind mount,其余字符串仍是命名卷。
- ${FONU_DATA_PATH:-fonu-data}:/data
environment:
FONU_DATA_DIR: /data
FONU_LISTEN: :6893
# 留空即自动:应用会在数据目录里生成并持久化 <DataDir>/session_secret(0600)
# 想自己指定就设这个变量;注意它同时是凭据加密密钥,已有数据后不要随意更换
FONU_SESSION_SECRET: ${FONU_SESSION_SECRET:-}
# 时区:通知消息时间按此显示(默认东八区)
TZ: ${TZ:-Asia/Shanghai}
volumes:
fonu-data: