Self-Hosting 终极指南:mikeroyal/Self-Hosting-Guide 20.6k Stars 自托管资源合集深度导读
posts posts 2026-06-15T21:03:21+08:00mikeroyal/Self-Hosting-Guide 是 20.6k Stars 的自托管资源合集,覆盖 Docker、WireGuard、Home Assistant、Nextcloud 等 34 个主题的中文导读。技术笔记Self-Hosting, 自托管, Docker, WireGuard, Awesome List目标读者:想搭建 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 件事:
- 这份 Guide 到底是什么:awesome-list 还是教程?该怎么用?
- 目录结构与内容特征:34 个主题章节如何组织?概念、工具列表、学习资源、实战部署各占多少?
- 自托管选型的 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 |
| Stars | 20,617 |
| Forks | 1,047 |
| 主语言(仓库) | Dockerfile(实质为 Markdown 资源合集) |
| Topics | authentication, 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
第二层:按技术栈分主题(# 顶级章节)
每一节独立成主题,详细展开该方向下的工具链与上手路径:
| 主题 | 覆盖范围 |
|---|---|
| WireGuard | WireGuard 协议本体 + Tailscale/Netmaker 托管方案 + PiVPN/Unraid/pfSense/OpenWRT/Home Assistant 上的部署手册 |
| Nextcloud | 自托管云盘 + 协作套件 |
| Raspberry Pi | 各型号硬件 + 学习资源 + OS(Home Assistant、Homebridge、ESPHome)+ 升级方案 |
| Grafana | 可视化与监控面板 |
| Networking | 网络工具集 |
| Docker | 容器运行时深度展开 |
| Kubernetes | 容器编排 |
| Ansible | 配置管理 |
| Databases | SQL / NoSQL 数据库 |
| Telco 5G | 电信级开源方案 |
| Open Source Security | 安全工具、框架、基准 |
| Differential Privacy | 差分隐私研究资源 |
| Machine Learning | ML 框架与在线学习资源 |
| IoT Protocols | IoT 通信协议 |
| 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 替代)放在同一节。本质选择是:
| 维度 | 原生 WireGuard | Tailscale | Netmaker |
|---|---|---|---|
| 控制平面 | 自建 | 托管(免费层 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/website | K8s 官方文档 | 本指南的 # Kubernetes 节相当于目录页 |
简单说:本指南是 awesome-list 与 topic guide 的混合体——既不取代 awesome-selfhosted 的纯工具清单,也不像 docker-curriculum 那样一步步带跑。
§10 推荐使用方式
把它当作一份带场景感知的 awesome-list 入口:
- 第一遍扫描:直接读
## Tools for Self-Hosting的所有三级标题,记住每个分类下「最有名的 2-3 个项目」即可; - 按需深挖:在选定方向(如 WireGuard)后,跳到
# WireGuard一节读概念与方案,再跳到 Tailscale / Netmaker / PiVPN 等具体官方仓库; - 横向比较:当 README 同一节内出现 ≥3 个同类项目时,自己到各项目主页对比活跃度、issue/PR 节奏、最新 release 日期;
- 不要照搬部署片段:只有 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)
- 能够排查常见问题
推荐资源:
- 本文(多读几遍)
- Self-Hosting Guide
- 各工具的官方文档
评估标准:
- 能够在一周内搭建一个新服务
- 能够读懂并修改 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 本身的教程深度,而在于:
- 给刚入自托管赛道的人一张「完整地图」,避免漏掉主流方案
- 给已经在跑服务的人提供「按技术栈横向索引」,避免每次选型都要从头搜索
- 给作者 Mike Royal 一份持续维护的个人技术目录,方便在多设备、多项目中复用
如果你只想快速查「Nextcloud 怎么装、WireGuard 用哪个方案、Home Assistant 跑在哪种硬件上」这类问题,这份 README 的目录结构本身已经足够。但要真正落地任何一个项目,仍需跳转到对应官方仓库或官方文档——这一点是这份 README 故意保持的边界。
进一步阅读:
- Self-Hosting Guide:完整资源合集
- awesome-selfhosted:纯工具清单
- r/homelab:Homelab 社区