# 固定项目名:不改的话,改了目录名/项目名后 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:/data environment: FONU_DATA_DIR: /data FONU_LISTEN: :6893 FONU_SESSION_SECRET: ${FONU_SESSION_SECRET:-change-me-in-production} # 时区:通知消息时间按此显示(默认东八区) TZ: ${TZ:-Asia/Shanghai} volumes: fonu-data: