主要观点:作者经过多年尝试不同自我托管方法后,决定追求“足够好”,分享了自己搭建终极自我托管环境的过程及经验。
关键信息:
- 目标:掌控数据及使用数据的服务,注重隐私,为家人朋友提供便利。
- 要求:将大部分服务置于内网,减少误配置影响,拥有核心组件所有权,方便家人朋友使用,配置宜声明式,更新应简单安全等。
技术选择:
- NixOS:用 Nix 语言配置操作系统,有丰富包可用,可放于 Git repo 管理配置。
- ZFS:具备优秀数据保护功能,可创建快照。
- Tailscale:便捷的网状 VPN,可连接多设备且不暴露于公网,有开源版本 headscale。
- Authelia & LLDAP:提供认证授权服务,配合良好。
- 布局设计:有公共服务器“taris”和私有服务器“kuat”,还有作为设备的其他服务器,如运行 Home Assistant OS 的“tython”等。
- 具体问题及解决方案:如为家人朋友创建“启动页”,解决使用 Tailscale 和其他 VPN 的冲突,处理认证相关事宜,配置 DNS 和 SSL 等。
- 下一步计划:添加备份服务器,利用 headscale/Tailscale 的访问控制功能,加强安全,考虑添加新服务等。
重要细节: - 公共服务器“taris”运行多种关键服务,如 Authelia、headscale 等,还用于代理 Foundry VTT 服务。
- 私有服务器“kuat”运行 TrueNAS 管理 NixOS VM 和 ZFS 池,主 VM“bespin”运行大部分服务。
- 不同服务的认证配置细节,如 Nextcloud 的 Authelia 配置等。
- 挂载 TrueNAS 数据集到 VM 的步骤及相关指南。
- 公开私有服务的代理配置方法等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。