From 84842e9359ae6e06281116f3a9234dd613e56198 Mon Sep 17 00:00:00 2001 From: mrlee <470349233@qq.com> Date: Sun, 27 Sep 2026 14:58:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(docker):=20docker-compose.hub.yml=20?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E4=BB=8E=E4=BB=93=E5=BA=93=E6=8B=89=E5=8F=96?= =?UTF-8?q?=E6=BA=90=E7=A0=81=E6=9E=84=E5=BB=BA=E7=9A=84=E5=8D=95=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=83=A8=E7=BD=B2=EF=BC=88v1.2.16=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build.context 改用 Git 地址(http://45.207.223.190:10082/mrlee/-Fonu.git#main),由 BuildKit 自己克隆后构建:干净机器只需这一个 compose 文件 + 一个 .env,不必先 git clone;升级即回目录重跑 docker compose up -d --build - FONU_SESSION_SECRET 改为必填(\),没给值直接拒绝启动并给出生成命令,避免用 change-me-in-production 跑在公网 - 文件头补齐完整用法与前提(需要 BuildKit、匿名可读则无需凭据、80/443 被占用改用 host 那份) --- CHANGELOG.md | 13 +++++++++++++ VERSION | 2 +- docker-compose.hub.yml | 23 +++++++++++++++++++---- web/package.json | 2 +- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 528cdb5..d8a5748 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to this project will be documented in this file. +## [v1.2.16] - 2026-09-27 + +### 改进 + +- **`docker-compose.hub.yml` 改为「单文件从仓库拉取源码构建」**:`build.context` 直接用 Git 地址(`http://45.207.223.190:10082/mrlee/-Fonu.git#main`),由 BuildKit 自己克隆后再构建——干净机器上**只需要这一个 compose 文件 + 一个 `.env`**,不必先手动 `git clone`。升级也是回该目录重跑 `docker compose up -d --build`(会重新拉 `main` 的当前代码)。文件头补齐了完整用法 +- **会话密钥不再静默回退**:这一份把 `FONU_SESSION_SECRET` 写成必填(`${FONU_SESSION_SECRET:?...}`),没在 `.env` 里给值就直接拒绝启动并给出生成命令,避免用 `change-me-in-production` 直接跑在公网 + +### 变更 + +- 版本号提升到 1.2.16;`web/package.json` 同步对齐 +- 本轮不含 agent 行为变更,`AgentVersion` 仍为 0.12.7 +- 三个 compose 的分工:`docker-compose.yml`(本地源码上下文)、`docker-compose.hub.yml`(**从仓库拉取**)、`docker-compose.host.yml`(host 网络,仍需本地源码) + ## [v1.2.15] - 2026-09-27 ### 新增 diff --git a/VERSION b/VERSION index 1fc5b82..f69752a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.15 +1.2.16 diff --git a/docker-compose.hub.yml b/docker-compose.hub.yml index 88e9a80..1a4b903 100644 --- a/docker-compose.hub.yml +++ b/docker-compose.hub.yml @@ -1,10 +1,23 @@ -# 本地构建并打标签(原为从 Docker Hub 拉取 muxui/fonu,本地项目无需拉取) -# 镜像 tag 随 VERSION 变(默认 fonu:local),可直接 docker save 导出或自行推送 +# 从仓库拉源码构建并启动(适合干净机器:只需要这一个文件 + 一个 .env) +# +# 用法: +# mkdir -p /opt/fonu && cd /opt/fonu +# # 取本文件(按你仓库页面上的「原始文件」链接下载,或 git clone 后复制过来): +# # curl -fsSLo docker-compose.hub.yml <仓库里这个文件的原始地址> +# printf 'FONU_SESSION_SECRET=%s\n' "$(openssl rand -hex 32)" > .env +# docker compose up -d --build +# +# 构建上下文用的是 Git 地址:BuildKit 会自己把仓库克隆下来,不需要先 git clone 到本地; +# 仓库匿名可读时无需凭据。需要认证时改用 https://<用户名>:<令牌>@<主机>/<路径>.git, +# 或先 git clone 后用 docker-compose.yml(本地上下文那份)。 +# +# 首次构建要拉前端与 Go 依赖,比较慢;之后靠 Dockerfile 里的 cache mount 复用缓存。 +# 80/443 已被占用(如飞牛 NAS)请改用 docker-compose.host.yml。 name: fonu services: fonu: build: - context: . + context: http://45.207.223.190:10082/mrlee/-Fonu.git#main 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} @@ -22,7 +35,9 @@ services: environment: FONU_DATA_DIR: /data FONU_LISTEN: :6893 - FONU_SESSION_SECRET: ${FONU_SESSION_SECRET:-change-me-in-production} + # 不再默默回退到 change-me-in-production:没在 .env 里给值就直接拒绝启动 + # (生成方式:openssl rand -hex 32) + FONU_SESSION_SECRET: "${FONU_SESSION_SECRET:?请先创建 .env 并写入 FONU_SESSION_SECRET(openssl rand -hex 32 可生成)}" # 时区:通知消息时间按此显示(默认东八区) TZ: ${TZ:-Asia/Shanghai} diff --git a/web/package.json b/web/package.json index b0db6ca..d45378c 100644 --- a/web/package.json +++ b/web/package.json @@ -1,7 +1,7 @@ { "name": "fonu-web", "private": true, - "version": "1.2.15", + "version": "1.2.16", "packageManager": "npm@10.9.4", "type": "module", "scripts": {