我的个人服务器架构

设备清单

设备 硬件 系统 用途
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 双份

简单够用,不搞复杂的。