docs(homelab): finalize Phase 1-4 architecture docs, Time Machine manual mode, and service table

Browse Source
This commit is contained in:
Yin Kou committed 2026-11-06 23:03:29 +08:00
1 parent b4a1255d24
commit 5dafc94d5e
3 files changed
+55 -31

No files matched your search

+8
View File
@@ -176,3 +176,11 @@
- 已将 **「Vaultwarden 密码库」** 添加至 `https://nav.961504.xyz` 导航页。
3. **极空间 20TB 每日自动备份**:编写 [`scripts/backup-to-nas.sh`](file:///Users/ixvii0iv/homelab/scripts/backup-to-nas.sh) 并注册 `~/Library/LaunchAgents/com.homelab.nas-backup.plist`(每天凌晨 03:30 自动打包备份 Vaultwarden 数据、Sun-Panel 配置与 Homelab 脚本至 `/Users/ixvii0iv/nas/个人空间/MacMini_Backups/`,自动保留最近 30 份)。
- **回滚方式**:`ssh mini "cd ~/homelab/stacks/vaultwarden && docker compose down && launchctl unload ~/Library/LaunchAgents/com.homelab.nas-backup.plist"`
### 17. 配置全屋无线 Time Machine 备份通道(手动按需模式,关闭自动同步)
- **操作时间**:2026-11-06 23:01 ~ 23:03
- **目标设备**:Mac mini (`192.168.31.164`) & 本机 MacBook Air (`192.168.31.83`) & 极空间 Z4 (`192.168.31.185`)
- **变更内容**:
1. **Mac mini**:通过 `sudo tmutil setdestination -a 'smb://18549991015:***@192.168.31.185/Time%20Machine'` 绑定极空间 Z4 的 Time Machine 专用卷(ID: `32710565-7968-4D64-A437-2D78476C388C`),并执行 `sudo tmutil disable` 关闭自动定时同步,保留随时手动触发能力 (`tmutil startbackup`)。
2. **本机 MacBook Air**:通过 `security add-internet-password` 将极空间 `192.168.31.185` / `Z4-R8WA.local` 的 SMB 账号密码写入系统钥匙串,免输密码挂载 `Time Machine` 卷,可随时手动备份。
- **回滚方式**:`ssh mini "sudo tmutil removedestination 32710565-7968-4D64-A437-2D78476C388C"`
+3 -1
View File
@@ -63,4 +63,6 @@
- [x] **4.3 部署 Vaultwarden 私人密码保险箱与极空间每日自动备份**:
- 已部署 **Vaultwarden** ([`stacks/vaultwarden/docker-compose.yml`](file:///Users/ixvii0iv/homelab/stacks/vaultwarden/docker-compose.yml)),提供免端口入口 **`https://vw.961504.xyz`** 与家宽直连入口 **`https://vw.home.961504.xyz:10443`**,并已添加至家庭导航页。
- 已编写 [`scripts/backup-to-nas.sh`](file:///Users/ixvii0iv/homelab/scripts/backup-to-nas.sh) 并注册 `com.homelab.nas-backup.plist` 定时任务,每天凌晨 03:30 自动打包备份 Vaultwarden 密码库与配置至极空间 `~/nas/个人空间/MacMini_Backups/`(保留最近 30 份)。
- [ ] **4.4 开启 Mac mini 全屋无线时间机器 (Time Machine) 备份中心**:将极空间挂载目录或 Mac mini 共享为 Apple Time Machine 服务器,让你的 MacBook Air 在家连 Wi-Fi 时自动无感备份。
- [x] **4.4 配置全屋无线「时间机器 (Time Machine)」手动备份通道(关闭自动后台同步)**:
- 已在 Mac mini 绑定极空间 Z4 专用 `smb://18549991015@192.168.31.185/Time%20Machine` 备份目标,并执行 `sudo tmutil disable` 关闭后台自动同步(仅按需手动触发 `tmutil startbackup`)。
- 已在本机 MacBook Air 钥匙串预存极空间 SMB 凭证并挂载 `Time Machine` 共享卷,设为手动按需备份模式。
+44 -30
View File
@@ -10,42 +10,47 @@
flowchart TB
Internet["🌐 互联网 / 外部访问"]
subgraph Cloud ["☁️ 公有云层 (Azure)"]
Azure["Azure VM (2C4G)<br/>固定公网 IP / 开放 80 & 443<br/>职责: 免端口HTTPS反代 / 外部监控哨兵 / 企微&TG网关"]
subgraph Cloud ["☁️ 公有云层 (SG Azure 104.43.105.243)"]
Azure["Azure SG (coco-sea1)<br/>固定公网 IP: 104.43.105.243 / Tailscale: 100.115.204.51<br/>职责: 443免端口HTTPS反代 / Uptime Kuma外部哨兵 / AGY固定AI出口"]
end
subgraph HomeLAN ["🏠 家庭局域网 (192.168.31.0/24 - 动态公网 IP)"]
Router["📡 小米路由器 (192.168.31.1)<br/>职责: PPPoE拨号 / DHCP / ShellCrash(Mihomo)透明分流 / 端口转发"]
Mini["🖥️ Mac mini M6 (192.168.31.164)<br/>主机名: ixvii0ivdeMac-Mini.local<br/>规格: Apple M6 (12核) / 24GB / 512GB SSD<br/>职责: 公网网关(Lucky) / OrbStack容器中心 / 24h远程开发机 / 本地AI"]
ZSpace["💾 极空间 Z4 (192.168.31.185)<br/>主机名: Z4-R8WA.local<br/>职责: RAID大容量冷存储 / 极影视 / 手机相册备份 / SMB共享"]
MBA["💻 MacBook Air M5 (192.168.31.83)<br/>职责: 日常移动主力开发机 (通过 ssh mini 远程连接)"]
subgraph HomeLAN ["🏠 家庭局域网 (192.168.31.0/24 - 联通公网 124.90.142.21)"]
Router["📡 小米路由器 (192.168.31.1)<br/>职责: PPPoE拨号 / DHCP静态绑定 / ShellCrash(Mihomo)分流 / 10443&41641端口映射"]
Mini["🖥️ Mac mini M6 (192.168.31.164 / Tailscale: 100.108.205.40)<br/>规格: Apple M6 (12核) / 24GB / 512GB SSD<br/>职责: Caddy网关 / OrbStack容器 / AGY 24h云端工作台 / Vaultwarden密码库"]
ZSpace["💾 极空间 Z4 (192.168.31.185)<br/>规格: 20TB 存储池 (可用 17TB)<br/>职责: 影视相册存储 / SMB自动挂载至Mac mini / Time Machine & 灾备中心"]
MBA["💻 MacBook Air M5 (192.168.31.83)<br/>职责: 日常移动主力开发机 (通过 ssh mini / ssh azure 远程管理)"]
end
Internet -->|"标准 443 免端口访问"| Azure
Internet -->|"高带宽直连 (Lucky HTTPS / WireGuard)"| Router
Azure <===>|"Tailscale / WireGuard 加密专线"| Mini
Internet -->|"标准 443 免端口访问 (*.961504.xyz)"| Azure
Internet -->|"家宽公网直连 (*.home.961504.xyz:10443)"| Router
Azure <===>|"Tailscale P2P 加密专线"| Mini
Router --> Mini
Router --> ZSpace
Router --> MBA
Mini <-->|"SMB/NFS 局域网高速挂载"| ZSpace
Mini <-->|"SMB 20TB 自动挂载 (~/nas)"| ZSpace
```
| 设备角色 | 设备名称 | 局域网/公网 IP | 硬件配置 | SSH 快捷连接 | 核心职责 |
| 设备角色 | 设备名称 | 局域网 / 公网 / Tailscale IP | 硬件配置 | SSH 快捷连接 | 核心职责 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **核心计算/AIO** | **Mac mini** | 内网 `192.168.31.164`<br/>Tailscale `100.108.205.40` | Apple M6 (12C) / 24GB / 512G | `ssh mini` (或 `ssh mini-ts`) | Caddy/Lucky 公网反代、Tailscale 子网路由、OrbStack 容器、24h 远程开发与 AI 算力 |
| **核心存储/NAS** | **极空间 Z4** | `192.168.31.185` | 磁盘阵列 NAS | - | 大容量影视/相册/冷备份存储,通过 SMB 挂载给 Mac mini |
| **主路由/透明网关** | **小米路由器** | `192.168.31.1` (联通公网 `124.90.142.21`) | 已解锁 SSH + ShellCrash | `ssh 192.168.31.1` | 宽带拨号、全屋 DHCP、ShellCrash (Mihomo) 科学上网分流、端口映射 |
| **云端协同节点** | **Azure SG (`coco-sea1`)** | 公网 `104.43.105.243`<br/>Tailscale `100.115.204.51` | 2C / 8GB RAM | `ssh azure` | 443 免端口反代 (`nav.961504.xyz`)、Uptime Kuma 监控 (`status.961504.xyz`)、企微/agy 固定出口 IP |
| **日常控制端** | **MacBook Air** | `192.168.31.83` | Apple M5 (10C) / 16GB / 512G | 本机 | 日常使用、管理本仓库 (`~/homelab`)、Remote-SSH 远程开发 |
| **核心计算/AIO** | **Mac mini** | 内网 `192.168.31.164`<br/>Tailscale `100.108.205.40` | Apple M6 (12C) / 24GB / 512G | `ssh mini`<br/>`ssh mini-ts` | Caddy 公网网关、Tailscale 子网路由、OrbStack 容器、AGY 云端工作台、Vaultwarden |
| **核心存储/NAS** | **极空间 Z4** | 内网 `192.168.31.185` | 20TB NAS 存储池 | - | 影视/相册/冷备存储,SMB 自动挂载至 Mac mini `~/nas/{共享文件,个人空间}` |
| **主路由/透明网关** | **小米路由器** | 内网 `192.168.31.1`<br/>联通公网 `124.90.142.21` | 已开启 SSH + ShellCrash | `ssh 192.168.31.1` | 宽带拨号、DHCP 绑定、Mihomo 透明分流(锁定 `agy` 走狮城)、端口转发 |
| **云端协同节点** | **Azure SG (`coco-sea1`)** | 公网 `104.43.105.243`<br/>Tailscale `100.115.204.51` | 2C / 8GB RAM | `ssh azure` | 443 免端口反代 (`nav`/`agy`/`vw`/`status`)、Uptime Kuma 监控、`agy` 固定出口 IP |
| **日常控制端** | **MacBook Air** | 内网 `192.168.31.83` | Apple M5 (10C) / 16GB / 512G | 本机 | 日常使用、管理本仓库 (`~/homelab`)、Remote-SSH 远程开发 |
---
## 二、 域名与 DNS 规划 (`961504.xyz` @ Cloudflare)
## 二、 全部服务访问入口速查表 (`961504.xyz`)
- **DNS 托管商**:Cloudflare (`eoin.ns.cloudflare.com` / `tori.ns.cloudflare.com`)
- **云端节点域名**:`sea.961504.xyz` -> `104.43.105.243` (Azure 2C4G 固定公网 IP)
- **家庭 DDNS 域名规划**:
- `home.961504.xyz` / `*.home.961504.xyz` -> 由 Mac mini 上的 **Lucky** 调用 Cloudflare API 动态解析至家庭联通公网 IP(当前 `124.90.142.21`)
| 服务名称 | 🌐 免端口直达 (走 Azure 443) | ⚡ 家宽公网/内网直达 (10443 端口) | 🏠 局域网原生地址 | 认证说明 |
| :--- | :--- | :--- | :--- | :--- |
| **🏠 家庭统一导航页 (Sun-Panel)** | `https://nav.961504.xyz` | `https://home.961504.xyz:10443`<br/>`https://nav.home.961504.xyz:10443` | `http://192.168.31.164:3002` | 导航主页直接访问 |
| **🤖 AGY 24h 云端工作台 (`ttyd`+`tmux`)** | `https://agy.961504.xyz` | `https://agy.home.961504.xyz:10443` | `http://192.168.31.164:7681` | Basic Auth: `ixvii0iv` / Mac mini 密码 |
| **🔐 Vaultwarden 私人密码库** | `https://vw.961504.xyz` | `https://vw.home.961504.xyz:10443` | `http://192.168.31.164:8222` | Bitwarden 客户端自托管填入 `https://vw.961504.xyz` |
| **💾 极空间 Z4 NAS** | - | `https://z4.home.961504.xyz:10443`<br/>`https://nas.home.961504.xyz:10443` | `http://192.168.31.185:5055` | 极空间账号密码 |
| **🚀 Clash 路由分流面板** | - | `https://clash.home.961504.xyz:10443` | `http://192.168.31.1:9999/ui` | Basic Auth: `ixvii0iv` / Mac mini 密码 |
| **📡 小米路由器管理后台** | - | `https://router.home.961504.xyz:10443` | `http://192.168.31.1` | Basic Auth + 路由器管理密码 |
| **📈 Uptime Kuma 外部监控哨兵** | `https://status.961504.xyz` | - | `http://104.43.105.243:3001` | 首次打开创建管理员账号 |
---
@@ -53,13 +58,22 @@ flowchart TB
```text
~/homelab/
├── README.md # 全局架构、设备资产与端口规划总览(本文件)
├── README.md # 全局架构、设备资产与服务入口速查表(本文件)
├── PLAN.md # 分阶段实施路线图与任务进度 Checklist
├── CHANGELOG.md # 详细操作与配置变更日志(含回滚指令)
├── scripts/ # 宿主机初始化与运维脚本
│ └── 01-macmini-init.sh # Mac mini 防休眠、基础环境与目录初始化脚本
└── stacks/ # Docker Compose 容器编排目录(与 Mac mini 同步)
├── lucky/ # DDNS 动态域名 + HTTPS 证书 + 反向代理
├── tailscale/ # 异地组网与内网穿透配置
└── azure-edge/ # Azure 2C4G 端 Caddy 反代与 Uptime Kuma 监控配置
├── CHANGELOG.md # 详细操作与配置变更日志(含 17 项变更记录与回滚指令)
├── backups/router/config.yaml.bak # 小米路由器 ShellCrash 原始配置备份
├── configs/
│ └── router-shellcrash-config.yaml # 小米路由器 Mihomo 生产分流配置(锁定 AGY 狮城出口)
├── scripts/
│ ├── 01-macmini-init.sh # Mac mini 防休眠、基础环境与目录初始化脚本
│ ├── cloudflare-ddns.sh # 每 5 分钟自动更新 *.home.961504.xyz 公网 IP
│ ├── mount-zspace.sh # 每 2 分钟巡检并自动挂载极空间 20TB SMB 至 ~/nas
│ ├── start-agy-web.sh # AGY 云端 Web 工作台 (ttyd + tmux) 常驻启动脚本
│ └── backup-to-nas.sh # 每天 03:30 自动打包备份核心数据至极空间 Z4
└── stacks/
├── gateway/ # Mac mini 10443 泛域名 HTTPS 网关 (Caddyfile + Let's Encrypt 证书)
├── azure-edge/ # SG Azure 443 免端口 HTTPS 边缘网关与 Uptime Kuma 编排
├── sun-panel/ # 家庭统一导航面板 Docker Compose 与 SQLite 数据
├── vaultwarden/ # Vaultwarden 私人密码保险箱 Docker Compose
└── wechat-bot/ # 微信双向控制网关代码(已按需暂停保留)
```