我的个人服务器架构
设备清单
| 设备 | 硬件 | 系统 | 用途 |
|---|---|---|---|
| Mac | MacBook Air | macOS | 日常开发机 |
| solar | Ryzen 7 5800U / 16GB / 370GB SSD | Ubuntu 26.04 | 远程开发服务器 |
| ivory | ARM 设备 / 7.4GB RAM | Linux | Docker 容器服务器 |
网络架构
Mac ←──→ Tailscale Mesh ←──→ solar
↕
ivory
↕
阿里云 ECS (nginx + frps)
↕
felixfeng.online
- 三台设备通过 Tailscale 组成内网
- solar 上跑 frpc,通过 frp 隧道把服务暴露给阿里云
- 阿里云上 nginx 做反向代理 + SSL 终结
- 域名
felixfeng.online指向阿里云
solar — 远程开发服务器
主力开发机,跑 Django 项目、MPD 音乐服务、监控 Agent:
~/projects/ → Nexus 等代码仓库
~/tools/ → 开发工具
~/apps/ → 运行中的服务
~/scripts/ → 运维脚本
~/data/music/ → 音乐文件 + 歌词
- Java 21 LTS(天机学堂微服务项目)
- Python 3.11 + uv(Nexus 站点)
- MPD 音乐服务(端口 6600)
- 监控 Agent(端口 9100)
ivory — Docker 容器服务器
跑多个 Docker 容器,包括各种轻量服务和监控 Agent。内存 7.4GB,开了 zram 压缩 swap,压缩比接近 4:1。
Mac — 日常主力
开发用 JetBrains Gateway 远程连接 solar,本地用 VS Code Remote SSH。Obsidian 笔记通过 iCloud 同步。
部署流水线
代码在 Mac 写 → git push → solar 上 pull → 服务自动重载
监控
每台机器跑一个监控 Agent,用 psutil 采集 CPU/内存/磁盘/网络/电池/Docker 状态,暴露 HTTP 端口。Nexus 站点的监控页面实时展示所有服务器状态。
备份策略
- 代码:GitHub
- 笔记:iCloud
- 数据库:定期导出
- 音乐:Mac 和 solar 双份
简单够用,不搞复杂的。