Mac mini AI 与静态网页部署方案

第一阶段目标:Mac mini 负责生成,飞牛 NAS 负责备份,GitHub 负责版本管理,Cloudflare Pages 负责公网访问,Windows 负责日常使用。

今天能落地 后期能扩展 先静态网页 数据库暂不外移

一、整体架构

把设备分工固定下来,后续部署时就不会在“文件放哪里、服务跑哪里、公网怎么访问”这些问题上反复摇摆。

Windows 笔记本 日常使用、远程访问、办公管理。
Mac mini AI、Codex、Docker、数据库与自动化服务中心。
飞牛 NAS 存储、备份、素材归档与资料隔离。
GitHub 网页项目代码仓库与版本管理。
Cloudflare Pages 静态网页自动部署与公网访问。
整体架构图 Windows 通过 Tailscale 访问 Mac mini,Mac mini 生成网页并推送 GitHub,Cloudflare Pages 发布公网,Mac mini 定时备份到 NAS。 Windows 日常使用 Tailscale 访问 Mac mini Codex / Docker PostgreSQL / Qdrant Redis / n8n OpenWebUI / ComfyUI 网页项目本地开发 GitHub 代码仓库 版本管理 Cloudflare Pages 自动部署 公网网址 NAS 备份 / 素材 / 资料库 Tailscale git push 自动发布 定时备份
一句话版: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 共享盘。

数据库运行与备份图 PostgreSQL、Qdrant、Redis 在 Mac mini 本地 SSD 运行,再定时备份到 NAS。 数据库服务 PostgreSQL / Qdrant Redis 本地运行 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 CSS JS,Git 推送到 GitHub,Cloudflare Pages 自动部署,公网用户访问。 Codex 生成 HTML CSS / JS 本地项目 Mac mini web_projects GitHub 代码仓库 版本历史 Cloudflare Pages 自动部署 公网网址 git push

更新流程

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.htmlstyle.cssapp.js
创建 GitHub 仓库把 homepage 作为第一个仓库或子项目。
推送到 GitHub执行 git addgit commitgit push
绑定 Cloudflare Pages选择 GitHub 仓库并启用自动部署。
测试公网网址修改一次网页,确认 push 后自动更新。
配置 NAS 备份把网页项目定期备份到 NAS/Web_Backup
后续再扩展服务数据库、n8n、ComfyUI、OpenWebUI 放到第二阶段。

十、第一阶段边界

第一阶段只做静态网页链路:本地生成、GitHub 管理、Cloudflare 发布、NAS 备份。这样最简单,最容易跑通,也方便后面升级。

现在做 以后再做
  • Mac mini 安装 Codex / Docker / Git
  • 创建静态网页项目
  • GitHub 仓库管理版本
  • Cloudflare Pages 自动部署
  • NAS 做备份和素材库
  • 数据库服务完整部署
  • 动态网页与 API
  • Caddy / Nginx 反向代理
  • n8n 自动化工作流
  • ComfyUI / OpenWebUI 深度集成