添加 Docker 服务配置文件

新增 forgejo、mihomo 透明代理的 docker-compose 和配置文件,
敏感凭证(runner token、VLESS UUID)通过 .env 管理不入库。
同步更新 CLAUDE.md 目录结构说明,新增 README.md。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-05-31 00:31:38 +08:00
parent 71a7eef7e6
commit d6692b8776
10 changed files with 228 additions and 23 deletions
+18 -23
View File
@@ -21,22 +21,26 @@ ssh nas # ~/.ssh/config 已配置,HostName 192.168.3.200User wangj
| 存储 | /volume17TB 总量 |
| IP | 192.168.3.200(静态,手动配置) |
## 目录结构
## 仓库目录结构
```
/volume1/docker/
docker/
├── forgejo/
│ ├── docker-compose.yml # Forgejo + act-runner
│ ├── data/ # Forgejo 数据(SQLite DB、仓库、app.ini
│ └── runner/ # act-runner 配置
├── proxy/
│ ├── docker-compose.yml # mihomo 容器
├── mihomo/config.yaml # 透明代理配置
── dnsmasq/dnsmasq.conf # dnsmasq 配置(预备,暂未启用)
└── backups/
└── jiu-db/ # jiu 项目 DB 每日备份(.sql.gz
│ ├── docker-compose.yml # Forgejo + act-runnertoken 通过 .env 注入)
│ ├── .env.example # 复制为 .env 填入真实 token
│ └── runner/
│ └── config.yaml # act-runner 配置
└── proxy/
├── docker-compose.yml # mihomo 容器
── mihomo/
│ ├── config.yaml # 透明代理规则(uuid 用 <VLESS_UUID> 占位)
│ └── .env.example # 复制为 .env 填入真实 UUID
└── dnsmasq/
└── dnsmasq.conf # 预备 DHCP 配置(暂未启用)
```
NAS 上实际路径:`/volume1/docker/<服务名>/`,与仓库 `docker/` 目录一一对应。
## Docker 服务
### 权限说明
@@ -51,24 +55,18 @@ ssh nas # ~/.ssh/config 已配置,HostName 192.168.3.200User wangj
- **局域网直连**`http://192.168.3.200:3000/`
- **SSH Clone**`ssh://git@git.51yanmei.com:2222/`
- **配置方式**:优先通过 docker-compose.yml 的环境变量(`GITEA__section__key`)管理,避免直接改 app.ini
- **app.ini 路径**`/volume1/docker/forgejo/data/gitea/conf/app.ini`(属于 uid=1000wangjia 只读)
- **app.ini 路径**`/volume1/docker/forgejo/data/gitea/conf/app.ini`(属于 uid=1000wangjia 只读,需 root 修改
- **数据库**SQLite`/volume1/docker/forgejo/data/gitea/gitea.db`
- **act-runner**CI/CD runner`forgejo-act-runner`),挂载 `/var/run/docker.sock` 可运行 Docker 任务
```bash
# 查看 Forgejo 日志
ssh nas "tail -f /volume1/docker/forgejo/data/gitea/log/gitea.log"
# 修改 Forgejo 配置(通过环境变量,改完需在 Container Manager 重启容器)
ssh nas "vi /volume1/docker/forgejo/docker-compose.yml"
# 如需直接改 app.ini,必须用 rootDSM 终端)
sudo sed -i 's/旧值/新值/' /volume1/docker/forgejo/data/gitea/conf/app.ini
```
### mihomo(透明代理)
局域网透明代理网关,运行在 NAS 上,Windows 设备(192.168.3.88)以 NAS 为默认网关。
局域网透明代理网关,Windows 设备(192.168.3.88)以 NAS 为默认网关。
**架构:**
```
@@ -101,13 +99,10 @@ ssh nas "curl -s --max-time 10 --proxy 'socks5h://127.0.0.1:7890' https://ifconf
# 查看实时日志
ssh nas "curl -s http://127.0.0.1:9090/logs -N --max-time 10"
# 查看活跃连接
ssh nas "curl -s http://127.0.0.1:9090/connections"
```
**dnsmasq(预备,未启用):**
配置文件已就绪(`/volume1/docker/proxy/dnsmasq/dnsmasq.conf`),待未来启用 DHCP 自动分发时使用。启用前需将 mihomo DNS 端口从 53 改为 1053,并将 dnsmasq 加入 docker-compose.yml。
配置文件已就绪(`docker/proxy/dnsmasq/dnsmasq.conf`),待未来启用 DHCP 自动分发时使用。启用前需将 mihomo DNS 端口从 53 改为 1053,并将 dnsmasq 加入 docker-compose.yml。
### jiu-db 自动备份