Files
homelab/CHANGELOG.md
T

87 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📝 变更日志 (CHANGELOG)
所有针对 **本机 (MacBook Air)**、**Mac mini (`192.168.31.164`)**、**小米路由器 (`192.168.31.1`)** 及 **Azure 2C4G** 的配置变更均记录在此,包含具体命令与回滚方法。
---
## [2026-11-06] 初始化阶段
### 1. 开启 Mac mini SSH 免密登录与快捷别名
- **操作时间**:2026-11-06 21:29 ~ 21:32
- **目标设备**:
- Mac mini (`192.168.31.164`)
- 本机 MacBook Air (`192.168.31.83`)
- **变更内容**:
1. 在 Mac mini 系统设置中开启了“远程登录 (SSH)”。
2. 通过 `ssh-copy-id ixvii0iv@192.168.31.164` 将本机公钥写入 Mac mini 的 `~/.ssh/authorized_keys`。
3. 在本机 [`~/.ssh/config`](file:///Users/ixvii0iv/.ssh/config) 中新增了 `Host mini macmini` 快捷配置,开启心跳保活 (`ServerAliveInterval 60`)。
- **验证方式**:在本机终端直接运行 `ssh mini` 即可免密秒连 Mac mini。
- **回滚方式**:编辑 [`~/.ssh/config`](file:///Users/ixvii0iv/.ssh/config) 删除 `Host mini macmini` 段落。
### 2. 创建本机 HomeLab 基础设施管理目录 (`~/homelab`)
- **操作时间**:2026-11-06 21:32
- **目标设备**:本机 MacBook Air (`/Users/ixvii0iv/homelab`)
- **变更内容**:
- 创建 [`README.md`](file:///Users/ixvii0iv/homelab/README.md)(全局网络拓扑与设备资产表)
- 创建 [`PLAN.md`](file:///Users/ixvii0iv/homelab/PLAN.md)(4 阶段实施蓝图与进度表)
- 创建 [`CHANGELOG.md`](file:///Users/ixvii0iv/homelab/CHANGELOG.md)(本变更日志文件)
### 3. 配置 Mac mini 免密 sudo 与服务器电源防休眠策略 (`pmset`)
- **操作时间**:2026-11-06 21:37
- **目标设备**:Mac mini (`192.168.31.164`)
- **变更内容**:
1. 创建 `/etc/sudoers.d/ixvii0iv`(权限 `0440`),赋予 `ixvii0iv` 用户免密 `sudo` 权限,便于自动化运维。
2. 执行 `sudo pmset -a sleep 0 disksleep 0 displaysleep 10 standby 0 autorestart 1 womp 1 tcpkeepalive 1 powernap 1`,彻底关闭系统与磁盘休眠,并开启断电恢复自动启动与网络唤醒。
- **回滚方式**:
- 删除免密 sudo:`ssh mini "sudo rm -f /etc/sudoers.d/ixvii0iv"`
- 恢复默认休眠:`ssh mini "sudo pmset -a sleep 1 disksleep 10 autorestart 0"`
### 4. 编写 Lucky 与 Azure 云边协同 Docker Compose 编排文件
- **操作时间**:2026-11-06 21:38
- **目标设备**:本机 MacBook Air (`/Users/ixvii0iv/homelab/stacks/`)
- **变更内容**:
- 创建 [`stacks/lucky/docker-compose.yml`](file:///Users/ixvii0iv/homelab/stacks/lucky/docker-compose.yml)(用于 Mac mini 部署 Lucky DDNS + HTTPS 反代)
- 创建 [`stacks/azure-edge/docker-compose.yml`](file:///Users/ixvii0iv/homelab/stacks/azure-edge/docker-compose.yml) 与 [`stacks/azure-edge/Caddyfile`](file:///Users/ixvii0iv/homelab/stacks/azure-edge/Caddyfile)(用于 Azure 2C4G 部署 Uptime Kuma 监控与 443 免端口反代)
### 5. 完成 Mac mini 软件底座、OrbStack、Tailscale、开发工具链及 `agy` 安装
- **操作时间**:2026-11-06 21:38 ~ 21:43
- **目标设备**:Mac mini (`192.168.31.164`)
- **变更内容**:
1. 安装 Xcode Command Line Tools 27.2 与 Homebrew 7.0.12 (`/opt/homebrew`)。
2. 通过 Homebrew Cask 安装并启动 **OrbStack 2.2.5** (Docker Engine `29.8.2`) 与 **Tailscale 1.104.5**。
3. 安装 CLI 开发工具链:`git`, `tmux`, `btop`, `ripgrep`, `fd`, `jq`, `wget`, `fnm`, `uv`。
4. 安装 **Antigravity CLI (`agy` 1.5.2)** 至 `/Users/ixvii0iv/.local/bin/agy`,并配置 `~/.zshrc` 与 `~/.zprofile` 的 `PATH` 环境变量。
- **回滚方式**:可通过 `brew uninstall` 卸载对应软件包,或删除 `~/.local/bin/agy`。
### 6. 锁定小米路由器 Mihomo 策略组出口至 SG Azure (`233boy-sea` / `104.43.105.243`)
- **操作时间**:2026-11-06 21:43
- **目标设备**:小米路由器 (`192.168.31.1:9999`)
- **变更内容**:
- 通过 Mihomo REST API 将 `手动切换` 固定为 `233boy-sea`,并将 `Ai平台` 与 `节点选择` 固定指向 `手动切换`(取代原先会随延迟自动切换节点的 `自动选择`),确保 Mac mini 与本机的 `agy` 流量 100% 稳定走 SG Azure (`104.43.105.243`)。
- **回滚方式**:在路由器 Mihomo 面板 (`http://192.168.31.1:9999`) 中将 `节点选择` 切回 `自动选择`。
### 7. 在 Mac mini 上启动 Lucky 容器 (`gdy666/lucky:latest`)
- **操作时间**:2026-11-06 21:45
- **目标设备**:Mac mini (`192.168.31.164`)
- **变更内容**:
- 同步 `~/homelab/stacks/lucky/docker-compose.yml` 至 Mac mini 并执行 `docker compose up -d`。
- 容器已启动,Web 管理面板监听 `http://192.168.31.164:16601`(默认初始账号密码:`666` / `666`),公网反代端口监听 `10443` (TCP/UDP)。
- **回滚方式**:`ssh mini "cd ~/homelab/stacks/lucky && docker compose down"`
### 8. 小米路由器底层固化:静态 DHCP 绑定、公网 10443 端口转发与 ShellCrash `agy` 规则锁定
- **操作时间**:2026-11-06 21:49 ~ 21:50
- **目标设备**:小米路由器 (`192.168.31.1`)
- **原始备份**:[`backups/router/config.yaml.bak`](file:///Users/ixvii0iv/homelab/backups/router/config.yaml.bak)(路由器端备份为 `/userdisk/ShellCrash/yamls/config.yaml.bak.20261106`)
- **变更内容**:
1. **DHCP 静态绑定**:通过 `uci add dhcp host` 将 Mac mini (`c8:80:6d:50:23:b1`) 固定绑定为 `192.168.31.164` (`Mac-mini`)。
2. **公网端口转发 (`Lucky_HTTPS_10443`)**:通过 `uci add firewall redirect` 将 WAN 口 `10443` (TCP+UDP) 转发至 `192.168.31.164:10443`。
3. **ShellCrash 规则永久固化**(见 [`configs/router-shellcrash-config.yaml`](file:///Users/ixvii0iv/homelab/configs/router-shellcrash-config.yaml)):
- 将 `Ai平台` 的默认首选节点改为 `狮城节点`(该组仅包含 `coco-sea1-reality-sony` 与 `233boy-sea`,两者服务端均为你的 SG Azure `104.43.105.243`)。
- 在 `rules:` 中新增 `antigravity.google`、`gemini.google.com`、`googleapis.com`、`deepmind.com` 及 `RULE-SET,google` 统一指向 `Ai平台`,彻底隔离其他策略组切换对 `agy` 出口 IP 的影响。
- **回滚方式**:
- 恢复 ShellCrash 配置:`cat ~/homelab/backups/router/config.yaml.bak | ssh 192.168.31.1 "cat > /userdisk/ShellCrash/yamls/config.yaml && /userdisk/ShellCrash/start.sh bfstart"`
- 删除端口转发:`ssh 192.168.31.1 "uci delete firewall.@redirect[-1] && uci commit firewall && /etc/init.d/firewall reload"`