目录

Self-Hosting 终极指南:mikeroyal/Self-Hosting-Guide 20.6k Stars 自托管资源合集深度导读

目标读者:想搭建 Home Lab / NAS / 自托管服务的工程师,以及需要快速了解自托管赛道全貌的架构师。 核心问题:这份 7000+ 行的 README 到底是教程还是工具索引?我该怎么用它? 事实边界:本文基于 mikeroyal/Self-Hosting-Guide 仓库 README 整理;工具推荐、版本兼容性、部署细节均以外跳官方文档为准。

§0 三分钟速览

mikeroyal/Self-Hosting-Guide 是一份自托管领域的 awesome-list,不是教程合集。它的核心价值是:

  • 34 个主题章节:从容器、VPN、云盘到智能家居、监控、数据库,覆盖自托管全栈。
  • 双层目录结构:先按使用场景分通用工具,再按技术栈分主题深入。
  • 快速版图扫描:1-2 小时读完目录和概念,就能对整个自托管赛道建立全局认知。

如果你只需要记住一件事:把它当「带场景感知的 awesome-list 入口」用,而不是当教程逐条执行。

§1 本文覆盖范围

本文会讲清楚以下 3 件事:

  1. 这份 Guide 到底是什么:awesome-list 还是教程?该怎么用?
  2. 目录结构与内容特征:34 个主题章节如何组织?概念、工具列表、学习资源、实战部署各占多少?
  3. 自托管选型的 5 条边界:Docker vs Podman、WireGuard vs Tailscale、Nextcloud vs 商业云盘等常见决策点。

本文不会展开:

  • 具体工具的详细安装步骤(请跳转到官方文档)
  • 每个工具的深度对比(只给决策边界,不替你做选择)
  • Home Lab 的完整搭建方案(只给资源索引)

阅读导航

  • 想快速了解这份 Guide 是什么:直接看 §0 三分钟速览§2 一句话判断
  • 想看清目录结构:看 §4 目录骨架
  • 想理解内容特征:看 §5 内容结构特征
  • 想看清自托管选型的常见决策:看 §7 自托管选型常踩的几条边界
  • 想自测掌握程度:看 §12 自测清单

§2 学习目标

通过本文,你将快速建立对 mikeroyal/Self-Hosting-Guide 这份 7000+ 行 README 的整体认知:

  • 知道 Self-Hosting 这条赛道在 GitHub 上的代表资源形态与典型读者
  • 弄清这份 Guide 的目录结构:从「通用工具」到「按技术栈分类」的双层骨架
  • 理解自托管(Self-Hosting)选型时最常遇到的几条技术边界:Docker vs Podman、WireGuard vs Tailscale、Nextcloud vs Synology
  • 知道如何把这份 README 当作 awesome-list 使用,而不是把它当作教程逐条执行

§3 一句话判断

这是一份自托管领域的 awesome-list,不是教程合集。它的价值在于把 34 个主题、几百个开源项目按场景组织到一起,让读者在 1-2 小时内完成对整个赛道版图的扫描,而不是替代官方文档或上手教程。

读者用它的方式应该是「按目录定位 → 找到对应主题 → 跳转到对应官方仓库或官网文档」,而不是从头到尾读完。

§4 仓库基本盘

维度数值
仓库地址https://github.com/mikeroyal/Self-Hosting-Guide
Stars20,617
Forks1,047
主语言(仓库)Dockerfile(实质为 Markdown 资源合集)
Topicsauthentication, awesome, awesome-list, decentralized, docker-compose, home-assistant, home-automation, linux, oauth, observability, open-source, privacy, raspberry-pi, reverse-proxy, self-hosted, self-hosting, selfhosted, ssh, wireguard
License未指定(仓库无显式 LICENSE 文件)
首次创建2022-02-06
最近更新2026-06-15(README 仍在维护,但 pushed_at 显示最近一次提交停留在 2025-06-27,更新频率趋于放缓)
README 体量约 7,147 行

⚠️ 仓库没有 LICENSE 文件意味着除 README 内的明确许可声明外,默认遵循 GitHub ToS,引用与重分发时建议保留原作者署名(Mike Royal)。

§5 目录骨架:两层组织

这份 README 的目录设计有清晰的「先通用工具,再按技术栈分主题」的双层结构:

第一层:通用工具(Getting Started with Self-Hosting

按使用场景分类,覆盖自托管路径上的所有通用工具:

  • 容器(Containers):Docker、Podman、Lima、Colima、Portainer、Containerd 等
  • CI/CD:Drone、Woodpecker(Drone 社区分叉)
  • Development:Web 服务器、大语言模型(LLMs)、ChatGPT 客户端
  • Automation:Ansible 等配置管理工具
  • Cloud Storage / Cloud:Linode、DigitalOcean、Back4app、Nextcloud、MinIO
  • Databases(SQL / NoSQL 分支)
  • Remote Access / Virtualization / Password Management
  • SSH / VPN / LDAP / DNS
  • Log Management / Service Discovery / Security
  • Monitoring / Dashboards / Analytics / Search
  • Notifications / RSS / Websites/Blogs
  • Social(Nostr / iMessage / Communications)
  • Business Management / Collaboration / Encryption
  • Backups / Snapshots / Archiving
  • Home Server / Media Server / Smart Home
  • Voice Assistants / Video Surveillance / TTS / Video & Audio Processing
  • Podcasting / Audiobooks / Health / Gardening / Maps / Bookmarks
  • Photos / Pastebins / Note-Taking / Time Monitoring / Wikis
  • Gaming / Foundations-Projects
  • System Hardware / Operating Systems / Storage / File systems / Books / Podcasts / YouTube Channels / Tutorials & Resources / Subreddits

第二层:按技术栈分主题(# 顶级章节)

每一节独立成主题,详细展开该方向下的工具链与上手路径:

主题覆盖范围
WireGuardWireGuard 协议本体 + Tailscale/Netmaker 托管方案 + PiVPN/Unraid/pfSense/OpenWRT/Home Assistant 上的部署手册
Nextcloud自托管云盘 + 协作套件
Raspberry Pi各型号硬件 + 学习资源 + OS(Home Assistant、Homebridge、ESPHome)+ 升级方案
Grafana可视化与监控面板
Networking网络工具集
Docker容器运行时深度展开
Kubernetes容器编排
Ansible配置管理
DatabasesSQL / NoSQL 数据库
Telco 5G电信级开源方案
Open Source Security安全工具、框架、基准
Differential Privacy差分隐私研究资源
Machine LearningML 框架与在线学习资源
IoT ProtocolsIoT 通信协议
Operating systems操作系统选型
Middleware中间件
Node Flow editors节点流编辑器(Node-RED 类)
Toolkits / Data Visualization / Search / Hardware配套工具与硬件
In-memory data grids内存数据网格
Home automation智能家居
Robotics机器人
Mesh networks网状网络
Blockchain Development区块链开发
Node.js / C/C++ / Java / Python / Rust / Swift / XML Development按语言组织的开发资源

总计 34 个独立主题章节,每一节都遵循「概念 → 工具列表 → 学习资源 → 实战部署(如有)」的统一节奏。

§6 内容结构特征

6.1 概念先行,工具后置

每一节开头先用一段话讲清楚该技术是什么、解决了什么问题,再列出相关工具与上手路径。例如 WireGuard 章节:

WireGuard® is a straight-forward, fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec while avoiding the massive headache.

随后才展开 Tailscale(WireGuard 之上的 mesh 网络方案)、Netmaker、以及 PiVPN/Unraid/pfSense/OpenWRT/Home Assistant 五种部署环境的具体操作。

这种结构让它比「单纯工具列表」多了入门门槛的解释,又比「教程」更短,适合在选型阶段快速对齐认知。

6.2 大量跨项目横向引用

README 全文充斥跨项目引用,例如 Docker 章节直接列出 Kompose(Docker Compose → Kubernetes 转换)、SwarmKit、Containerd、Portainer、Yacht、HashiCorp Nomad 等上下游工具,并把所有可观测性工具(Nginx Proxy Manager、WatchTower、Autoheal、Diun、Dozzle)归在同一节内。

这意味着单靠 README 无法完成工具间的「决策比较」,它只告诉你「这些是同类工具」,不直接告诉你「选哪个」。

6.3 实战部署片段有限

只有少数章节(WireGuard on PiVPN/Unraid/pfSense/OpenWRT/Home Assistant、Raspberry Pi 的 Home Assistant、Back4app Web Deployment 等)给出了具体的命令或操作步骤;其他章节主要停留在「概念 + 工具列表 + 官方链接」层。

§7 三类典型读者

读者类型在这份 README 中找什么
刚接触自托管的工程师通用工具层的「Containers / CI/CD / Databases / Monitoring」一站式了解整个栈
已经在跑 NAS/Home Lab按技术栈章节横向比较同类方案(Portainer vs Yacht、WireGuard vs Tailscale)
采购/选型阶段的架构师WireGuard / Nextcloud / Home Assistant / Kubernetes 等主题的快速版本核对,再跳到官方文档做决策

§8 自托管选型常踩的几条边界

把 README 通读一遍,至少能识别出下面几条工程决策点。这些边界在 README 内并未直接给出推荐,但目录结构本身暗示了常见权衡:

8.1 Docker vs Podman

# Containers 节同时收录了 Docker 全家桶(Docker Compose、Kompose、SwarmKit、Containerd)和 Podman。两个引擎都符合 OCI(Open Container Initiative)规范,差异主要在:

  • 守护进程:Docker 有 dockerd 单点,Podman 是无守护进程(daemonless)
  • systemd 集成:Podman 原生支持 systemd,Docker 需 rootful 或 rootless 模式手动配置
  • 桌面端生态:Docker Desktop 是 macOS/Windows 上最成熟的方案;Linux 桌面用户用 Podman 更轻量
  • Compose 兼容:Podman 4+ 已兼容大部分 Compose 语法,但少部分 Docker 专属特性需要适配

8.2 WireGuard vs Tailscale

README 把 WireGuard 协议、Tailscale(基于 WireGuard 的 mesh VPN)和 Netmaker(自托管版 Tailscale 替代)放在同一节。本质选择是:

维度原生 WireGuardTailscaleNetmaker
控制平面自建托管(免费层 100 设备)自建
NAT 穿透需手动配对自动(DERP 中继)自动
学习成本高(手动管密钥)极低
数据落地完全私有控制面走 Tailscale完全私有

8.3 Nextcloud vs 商业云盘

# Nextcloud 章节强调「完全自托管 + 协作套件」,但 README 没有对比 Synology Drive、Seafile、FileRun 等同类方案。如果是从云盘迁回自托管,单纯看这份 README 会直接落到 Nextcloud 上,需要额外比较。

8.4 Home Assistant vs 通用智能家居网关

Raspberry Pi 章节把 Home Assistant 放在首位,但同时列出 Homebridge(Apple HomeKit 桥)和 ESPHome(ESP 设备固件)。HA 是「全栈方案」,Homebridge/ESPHome 是「组件方案」,选型取决于用户是想要一站式还是模块化拼装。

8.5 Grafana vs Uptime Kuma vs Promtail

# Grafana# Monitoring/# Dashboards 是分开的两节,意味着这份 README 不替你做可观测性选型——它默认你需要 Grafana + Prometheus + Loki + Promtail 这种「全家桶」,但实际上轻量级场景下 Uptime Kuma + cAdvisor 的组合更省事

§9 与同类 awesome-list 的对比

仓库特点与本指南的关系
awesome-selfhosted/awesome-selfhosted仅列软件,不做主题展开本指南把 awesome-selfhosted 的工具按场景重新组织
trimstray/the-book-of-secret-knowledge偏 IT 运维/网络工具与 Networking、Open Source Security 节有重叠
kickstartcoding/docker-curriculum真正的 Docker 入门教程本指南的 # Docker 节只做导航,教程要外跳
kubernetes/websiteK8s 官方文档本指南的 # Kubernetes 节相当于目录页

简单说:本指南是 awesome-list 与 topic guide 的混合体——既不取代 awesome-selfhosted 的纯工具清单,也不像 docker-curriculum 那样一步步带跑。

§10 推荐使用方式

把它当作一份带场景感知的 awesome-list 入口

  1. 第一遍扫描:直接读 ## Tools for Self-Hosting 的所有三级标题,记住每个分类下「最有名的 2-3 个项目」即可;
  2. 按需深挖:在选定方向(如 WireGuard)后,跳到 # WireGuard 一节读概念与方案,再跳到 Tailscale / Netmaker / PiVPN 等具体官方仓库;
  3. 横向比较:当 README 同一节内出现 ≥3 个同类项目时,自己到各项目主页对比活跃度、issue/PR 节奏、最新 release 日期;
  4. 不要照搬部署片段:只有 WireGuard on PiVPN、Raspberry Pi 上的 Home Assistant、Back4app Web Deployment 等少数子章节给了实战命令;其他「Setting up XX」的章节通常只给了官方文档跳转。

§11 适用边界与已知问题

  • 无 LICENSE 文件:引用与重分发时需保留作者署名
  • 更新频率放缓pushed_at 最近一次提交停留在 2025-06-27,README 显示 2026-06-15 updated_at 来自 GitHub 自动维护性更新(star/topic 同步),不是代码/内容变更
  • 实战性较弱:除少数子章节外,大部分内容停留在「链接索引」层
  • 国际化缺失:README 全英文,没有翻译分支(fork 出的中文化版本未在仓库内提及)
  • Issues/PRs 数量 57+:作为 awesome-list 仓库,issue 区常出现「建议加入 XX」「建议删除 YY」的争议;维护者响应速度不固定

§12 学习练习

练习 1:扫描自托管全貌(Level 1)

任务:把 mikeroyal/Self-Hosting-Guide 的目录通读一遍,记录下你感兴趣的 5 个主题。

验证标准

  • 能在 1 小时内读完目录
  • 能说出 5 个你感兴趣的主题
  • 能解释为什么对这些主题感兴趣

提示:不要试图读完所有内容,只看目录和概念部分。

练习 2:选型对比(Level 2)

任务:在你看中的某个主题下(如 WireGuard),对比 3 个同类工具,选出最适合你的方案。

验证标准

  • 能列出 3 个同类工具
  • 能对比它们的优缺点
  • 能给出选型理由

提示:跳到各工具的官方仓库,看 Stars、最近更新、文档质量。

练习 3:搭建一个自托管服务(Level 3)

任务:选一个你感兴趣的工具(如 WireGuard 或 Home Assistant),按照官方文档搭建起来。

验证标准

  • 能成功安装并运行
  • 能解决安装过程中遇到的问题
  • 能总结搭建经验和坑点

提示:先在虚拟机或测试环境试跑,再考虑生产部署。

练习 4:设计 Home Lab 方案(Level 4)

任务:基于这份 Guide,设计一套完整的 Home Lab 方案,包括硬件、网络、服务。

要求

  • 明确硬件选型(Raspberry Pi / 旧笔记本 / 专用服务器)
  • 明确网络方案(WireGuard / Tailscale)
  • 明确要跑的服务(Nextcloud / Home Assistant / 媒体服务器)
  • 写出部署步骤和配置

验证标准

  • 方案完整可行
  • 能解释每个选型的理由
  • 能预估成本和功耗

§13 自测清单

完成本文学习后,用这份清单自检:

基础概念

  • 我能解释这份 Guide 是什么、不是什么
  • 我知道该怎么用它
  • 我能解释 Docker 和 Podman 的区别
  • 我能解释 WireGuard 和 Tailscale 的区别

目录结构

  • 我能说出第一层(通用工具)的 5 个分类
  • 我能说出第二层(按技术栈分主题)的 5 个主题
  • 我知道哪些章节有实战部署片段

选型决策

  • 我知道什么时候该选 Docker,什么时候该选 Podman
  • 我知道什么时候该选 WireGuard,什么时候该选 Tailscale
  • 我知道 Nextcloud 的替代品有哪些
  • 我知道 Home Assistant 的替代品有哪些

实战能力

  • 我能用一个下午搭起一个自托管服务
  • 我能解决常见的部署问题
  • 我能设计一套 Home Lab 方案

评分标准

  • 勾选 ≥ 90%:掌握良好,可以深入某个主题
  • 勾选 70-89%:掌握基本,建议重读未勾选的部分
  • 勾选 < 70%:建议从头再读一遍,并做完所有练习

§14 进阶路径

初级 → 中级(2-3 个月)

目标:能够搭建和管理基本的自托管服务

必备技能

  • 掌握 Linux 基础(命令行、文件权限、服务管理)
  • 掌握 Docker 基础(镜像、容器、网络、卷)
  • 能够搭建常见服务(WireGuard、Nextcloud、Home Assistant)
  • 能够排查常见问题

推荐资源

评估标准

  • 能够在一周内搭建一个新服务
  • 能够读懂并修改 Docker Compose 配置
  • 能够定位和修复常见部署问题

中级 → 高级(6-12 个月)

目标:能够设计和管理完整的 Home Lab

必备技能

  • 深入理解网络(VPN、反向代理、DNS、SSL)
  • 能够设计服务架构(容器编排、存储、备份)
  • 能够优化性能和安全
  • 能够指导初学者

推荐资源

  • awesome-selfhosted
  • Homelab 社区(Reddit r/homelab、Discord)
  • 技术博客和 YouTube 频道

评估标准

  • 能够设计一套完整的 Home Lab 方案
  • 能够定位和解决复杂问题
  • 能够进行技术分享

高级 → 专家(2-3 年)

目标:能够制定自托管最佳实践

必备技能

  • 深刻理解自托管本质和趋势
  • 能够制定团队/家庭的最佳实践
  • 能够解决跨领域复杂问题
  • 能够贡献到开源社区

推荐资源

  • 开源社区参与
  • 行业会议和技术博客
  • 自己写博客分享经验

评估标准

  • 别人遇到自托管问题会向你求助
  • 你写的博客/文档成为参考标准
  • 你能预判技术趋势并提前布局

§15 总结

mikeroyal/Self-Hosting-Guide 是一份结构清晰、覆盖极广的自托管资源导览。它的真正价值不在 README 本身的教程深度,而在于:

  1. 给刚入自托管赛道的人一张「完整地图」,避免漏掉主流方案
  2. 给已经在跑服务的人提供「按技术栈横向索引」,避免每次选型都要从头搜索
  3. 给作者 Mike Royal 一份持续维护的个人技术目录,方便在多设备、多项目中复用

如果你只想快速查「Nextcloud 怎么装、WireGuard 用哪个方案、Home Assistant 跑在哪种硬件上」这类问题,这份 README 的目录结构本身已经足够。但要真正落地任何一个项目,仍需跳转到对应官方仓库或官方文档——这一点是这份 README 故意保持的边界。


进一步阅读