CI / verify (push) Canceled after 0s
- 仪表盘「实时流量」新增数据源切换:本机读本地 Nginx 访问日志,公网读 frps 逐规则的 today_traffic_in/out 与 cur_conns(速率由后端两次采样算出,口径与公网反代页一致);两源归一成同一形状供汇总/Top/曲线共用,切换时清空 5 分钟曲线避免混采样,无穿透规则时公网按钮禁用 - Docker 交付(方案 1):Dockerfile 加 docker/dockerfile:1 语法与四处 RUN --mount=type=cache(npm/go 模块/编译缓存复用);三个 compose 统一 name: fonu(防止改目录名后 fonu-data 变新空卷)与 image: fonu:\(tag 随版本走便于回滚),.host.yml 补上缺失的 image - 新增 scripts/upgrade.sh:一条命令完成拉代码→构建→重建→健康检查,支持 --no-pull / --rollback <tag>(不重建) / COMPOSE_FILE=(host 网络那份) - 验证:bash -n 与 --help 实跑通过;容器构建与 compose 配置解析本机无 docker,需在 NAS 上执行一次确认
35 lines
1.3 KiB
YAML
35 lines
1.3 KiB
YAML
# 固定项目名:不改的话,改了目录名/项目名后 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:
|