自托管到底在折腾什么?从 awesome-selfhosted 到 go2rtc 的四层答案
自托管到底在折腾什么?从 awesome-selfhosted 到 go2rtc 的四层答案 「为什么你要自己架服务,直接用现成的不好吗?」——本文用四个 GitHub 项目回答这个问题。自托管不是一种技术偏好,是一套关于数据主权的价值观,而它的工程形态远比想象中精致。 每次跟人聊起家里那台跑着十几个容器的小服务器,总会被问:「云上不香吗?免费额度不够吗?」 香。但研究完 awesome-selfhosted(307K Star)这个索引库和它圈子里的几个代表项目后,我想给自托管一个更准确的定义:**它不是「自己部署软件」,而是「把数据、服务、规则的控制权收回到自己手里」。**这个定义能解释为什么这个圈子既极客又固执。 第一层:一张地图——awesome-selfhosted 先看规模。awesome-selfhosted 收录了数百个可自托管应用,覆盖: 类别 代表项目 替代的商业服务 通信 Matrix、Jitsi、Discourse Slack、Zoom、Reddit 内容 Ghost、BookStack、Strapi Medium、Notion、Airtable 文件同步 Nextcloud、MinIO、Syncthing Google Drive、Dropbox 媒体 Jellyfin、Immich、Navidrome Netflix 相册、Google Photos、Spotify DevOps Gitea、Drone、Uptime Kuma GitHub、Jenkins、StatusPage AI Ollama、LocalAI OpenAI API(本地化) 注意几个细节,能看出这个社区的「价值观洁癖」: 只收符合开源定义(OSD)的软件,非自由软件单独关进 non-free.md 小黑屋。数据主权的前提是软件本身可审计,逻辑是自洽的。 GitHub Actions 自动巡检死链和弃坑项目——索引库最大的天敌是腐烂,他们用自动化对抗它。 元数据独立仓库(YAML/JSON)管理,README 自动生成——数据与展示分离,这个工程实践本身就值得抄。 它诚实列出了缺点:技术门槛、安全更新责任、硬件带宽成本。自托管不是免费的,只是把「订阅费」换成了「运维投入」。想清楚这笔账,再看要不要入坑。 第二层:协议翻译官——go2rtc 如果说 awesome-selfhosted 是地图,go2rtc(AlexxIT,Go 语言)就是自托管精神的极致样本。它解决的问题特别具体:家里摄像头品牌太杂,协议互不相通。 海康用私有协议、小米用自家的、Ring 又是一套;你想看画面,要么装五个 App,要么各厂商的云服务各看各的(还得交月费)。go2rtc 的做法是做一个「通用协议转换网关」: graph LR A[RTSP/ONVIF/海康/小米<br/>Ring/Wyze/GoPro...] --> G[go2rtc<br/>协议转换网关] G --> B[WebRTC 零延迟播放] G --> C[HLS / MP4 / RTMP] G --> D[HomeKit / Home Assistant] 输入端支持 RTSP/RTMP/WebRTC/ONVIF/HLS 加一堆私有协议,输出端支持 WebRTC(零延迟)、HLS、MP4、HomeKit,还能双向音频、推流到 YouTube/Telegram。 ...