feat(docker): docker-compose.hub.yml 改为从仓库拉取源码构建的单文件部署(v1.2.16)
CI / verify (push) Canceled after 0s
CI / verify (push) Canceled after 0s
- 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 那份)
This commit is contained in:
@@ -2,6 +2,19 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
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
|
## [v1.2.15] - 2026-09-27
|
||||||
|
|
||||||
### 新增
|
### 新增
|
||||||
|
|||||||
+19
-4
@@ -1,10 +1,23 @@
|
|||||||
# 本地构建并打标签(原为从 Docker Hub 拉取 muxui/fonu,本地项目无需拉取)
|
# 从仓库拉源码构建并启动(适合干净机器:只需要这一个文件 + 一个 .env)
|
||||||
# 镜像 tag 随 VERSION 变(默认 fonu:local),可直接 docker save 导出或自行推送
|
#
|
||||||
|
# 用法:
|
||||||
|
# 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
|
name: fonu
|
||||||
services:
|
services:
|
||||||
fonu:
|
fonu:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: http://45.207.223.190:10082/mrlee/-Fonu.git#main
|
||||||
args:
|
args:
|
||||||
NODE_IMAGE: ${NODE_IMAGE:-docker.m.daocloud.io/library/node:22-alpine}
|
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}
|
GO_IMAGE: ${GO_IMAGE:-docker.m.daocloud.io/library/golang:1.23-bookworm}
|
||||||
@@ -22,7 +35,9 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
FONU_DATA_DIR: /data
|
FONU_DATA_DIR: /data
|
||||||
FONU_LISTEN: :6893
|
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}
|
TZ: ${TZ:-Asia/Shanghai}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "fonu-web",
|
"name": "fonu-web",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.2.15",
|
"version": "1.2.16",
|
||||||
"packageManager": "npm@10.9.4",
|
"packageManager": "npm@10.9.4",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user