一、整体架构
把设备分工固定下来,后续部署时就不会在“文件放哪里、服务跑哪里、公网怎么访问”这些问题上反复摇摆。
Windows 笔记本
日常使用、远程访问、办公管理。
Mac mini
AI、Codex、Docker、数据库与自动化服务中心。
飞牛 NAS
存储、备份、素材归档与资料隔离。
GitHub
网页项目代码仓库与版本管理。
Cloudflare Pages
静态网页自动部署与公网访问。
一句话版:Mac mini 用 Codex 生成静态网页,GitHub 管理版本,Cloudflare Pages 自动发布公网网址,飞牛 NAS 做备份和素材存储,Windows 负责日常访问和管理。
二、Mac mini 的职责
主要运行
- Docker
- Codex
- PostgreSQL
- Qdrant
- Redis
- n8n
- OpenWebUI
- ComfyUI
短期不需要
- Caddy
- Nginx
- FastAPI
- 动态网页
- 网页连接数据库
阶段边界:第一阶段先跑通静态网页发布链路。数据库、动态 API、反向代理都等静态流程稳定后再加。
三、飞牛 NAS 的职责与权限
NAS 负责存储和备份,不建议跑数据库,也不建议直接托管网页运行目录。建议创建 AI 专用子账号 codex_ai。
NAS
├─ AI_Workspace AI工作区
├─ Web_Backup 网页项目备份
├─ Web_Assets 图片/视频/Logo等素材
├─ DB_Backup 数据库备份
├─ Knowledge 资料库,只读给AI
└─ Archive 重要资料,AI无权限
| NAS 目录 | codex_ai 权限 |
用途 |
|---|---|---|
| AI_Workspace | 读写 | AI 工作区,存放可被 AI 处理的临时资料和项目文件。 |
| Web_Backup | 读写 | 网页项目定期备份目录。 |
| Web_Assets | 读写或只读 | 图片、视频、Logo 等网页素材。素材定稿后可改为只读。 |
| Knowledge | 只读 | 资料库,可供 AI 检索和引用,但不允许随意改动。 |
| DB_Backup | 仅备份写入 | 数据库备份落地目录,尽量限制读取和修改范围。 |
| Archive / Photos / Finance / Family | 无权限 | 核心资料隔离,AI 不接触。 |
核心原则:AI 可以干活,但不能碰核心资料。
四、数据库放置方式
数据库运行数据放 Mac mini 本地 SSD,定时备份到 NAS。不要把数据库运行目录直接放在 NAS 共享盘。
原因很直接:NAS 共享盘网络延迟高,网络中断会影响数据库稳定性,长期运行还可能增加数据损坏风险。
五、远程访问方式
远程访问数据库和服务用 Tailscale。Mac mini 保持 Tailscale + Docker 的稳定组合,Windows 继续负责代理工具和日常办公。
Windows
↓
Tailscale
↓
Mac mini
↓
PostgreSQL / Qdrant / n8n / OpenWebUI
数据库连接示例:
Host: Mac mini 的 Tailscale IP
Port: 5432
建议:Mac mini 上不长期运行 Shadowrocket,避免和 Tailscale、Docker、后台服务产生稳定性冲突。
六、静态网页发布方案
短期网页部分保持最简链路:Codex 写网页,GitHub 存代码,Cloudflare Pages 自动发布公网网址。
更新流程
Codex 修改 HTML
↓
git add .
↓
git commit -m "update website"
↓
git push
↓
Cloudflare Pages 自动更新公网网页
结论:现在不用手动拖拽上传 Cloudflare,也暂时不需要 Caddy。
七、项目目录建议
Mac mini 本地目录
~/AI_Server/web_projects
├─ homepage
│ ├─ index.html
│ ├─ style.css
│ ├─ app.js
│ └─ assets
│
├─ product_page
│ ├─ index.html
│ └─ assets
│
└─ ai_gallery
├─ index.html
├─ style.css
└─ assets
NAS 备份目录
NAS/Web_Backup
建议把网页项目做定时同步或定时压缩备份,避免误删、误改、仓库异常时没有本地副本。
八、Cloudflare 与 Caddy 的区别
| 工具 | 作用 | 当前阶段是否需要 |
|---|---|---|
| Cloudflare Pages | 把 GitHub 仓库里的静态网页自动部署成公网可访问网址。 | 需要 |
| Caddy | 把 Mac mini 本地 HTML 文件托管成局域网网页,例如 http://macmini.local:8080。 |
短期不需要 |
九、今天配置顺序
飞牛 NAS 创建目录先建立 AI、网页、素材、备份、知识库和归档目录。
创建
codex_ai按权限矩阵配置读写、只读和无权限。Mac mini 装基础工具安装 Docker、Codex、Git。
创建项目根目录建立
~/AI_Server/web_projects。创建 homepage准备第一个静态网页项目。
生成网页文件用 Codex 创建
index.html、style.css、app.js。创建 GitHub 仓库把 homepage 作为第一个仓库或子项目。
推送到 GitHub执行
git add、git commit、git push。绑定 Cloudflare Pages选择 GitHub 仓库并启用自动部署。
测试公网网址修改一次网页,确认 push 后自动更新。
配置 NAS 备份把网页项目定期备份到
NAS/Web_Backup。后续再扩展服务数据库、n8n、ComfyUI、OpenWebUI 放到第二阶段。
十、第一阶段边界
第一阶段只做静态网页链路:本地生成、GitHub 管理、Cloudflare 发布、NAS 备份。这样最简单,最容易跑通,也方便后面升级。
| 现在做 | 以后再做 |
|---|---|
|
|