从点一下鼠标到自建可扩展架构
从点鼠标到敲代码:自建主机别再乱成一锅粥
自建主机现在超火。云服务费越来越贵,隐私又让人纠结,加上自己搞定一切的那股爽劲儿,越来越多码农开始在家跑应用。但有个难言之隐:起步阶段就是个维护噩梦。
买个NAS,GUI点点装几个app,突然间你像回到了2005年,到处点管理面板。多一台设备,配置文件就散在三台机器上。再多一台,你就后悔了。
听起来耳熟?来聊聊怎么自建主机,还能轻松扩展,不疯掉。
自建之路的五个阶段
从随便玩玩,到靠谱的基础设施,通常就这么走。起步满腔热情,新设备亮瞎眼。然后现实来敲门。
阶段1:GUI时代
头一台机器多半是NAS或现成盒子。点界面,包管理器装服务,网页面板调设置。能用。撑一阵子。
但加第二个服务,或者换硬件,一切就崩。配置到处是,记不清为啥那么设。唯一备份就在那台机器上。
阶段2:Git觉醒
转折点来了:啥都扔git里。
一个YAML文件,真相只有一个。不管Docker Compose、Kubernetes还是啥,只要配置进版本控制,世界就变了。你不是管服务器,是发配置。
一键make deploy,整个部署就完事。硬件挂了?几分钟上线。新服务?改文件,commit,push。零点鼠标,零意外。
阶段3:算力和存储分开
配置代码化后,下步是分层。NAS别再兼职计算。
把app挪到轻量设备——Raspberry Pi 5、旧笔记本,随便——NAS只管存数据。NFS挂卷。瞬间模块化。计算层想换就换,不碰数据。
可靠性飞起。Pi崩?备份恢复,重deploy。NAS坏?有Backblaze异地备份。都不致命。
阶段4:网络层上场
只在家网能访问的应用,没啥大用。要DNS、VPN、广告拦截、反向代理。
重点来了:
DNS & 广告拦截:Pi-hole接管全家DNS查询。广告没了,恶意域名挡住。还能看清谁跟谁聊。
加密上游:dnscrypt-proxy或Tailscale包DNS,ISP看不见你搜啥。
远程访问:WireGuard VPN,全球到处连家网。零端口转发,零暴露。
网络升级:这时发现家用路由器拖后腿。50刀NanoPi跑OpenWRT,听着夸张,但NetGear Orbi DNS播不出去时,它就是最值那50刀。
阶段5:反向代理和收尾
app跑起来了,网络通了,基础设施稳。但整合要细心。
扔掉GUI代理。直写nginx配置。Let's Encrypt + Cloudflare DNS自动续SSL。通配证书,新服务自动HTTPS。
压轴:仪表盘。Homer全YAML配置,一屏看全家桶。服务分类,一键进,风格统一。
为什么值得
这不光是技术瘾(虽然真爽)。是建能扛现实的系统。
全git化,你有:
- 救灾:全挂几分钟回血,不是几天
- 升级:换硬件?原样重deploy
- 文档:git历史就是说明书
- 学习:每改必commit、可审
- 分享:想秀?公仓一推
怎么起步
别一下全上。一步步来:
- Docker Compose + git(立竿见影)
- 算力存储分离(多服务时)
- DNS + VPN(要远程)
- 高级网络(求稳)
- 自动化收尾(懒得手动)
每层叠前一层。从1开始,熟了再进下步。
最大收获
牛逼在哪?硬件全炸,你不从零开始。不用点面板想当年。不用仨月后发现忘记关键步。
你有git仓。有配置。有备份。有Makefile明明白白说deploy干啥。几命令,回线上线。
这不是自建。这是尊重你时间和脑子的基础设施。
想自建主机?从点鼠标到代码驱动,没你想得难。Raspberry Pi、NAS还是混搭,原理一样:全版本控制,死磕自动化,建扛摔打的系统。