文章摘要
作者经过多年尝试不同的自托管方案,如使用多个Docker Compose文件或Ansible,最终决定追求“足够好”的解决方案。通过制定明确的目标和步骤,作者成功搭建了一个稳定的自托管系统,并已顺利运行超过六个月。本文分享了作者在搭建过程中遇到的挑战和解决方案,旨在回馈社区,继续推动开源和自托管的发展。
文章总结
文章主要内容总结
标题: 我的终极自托管设置
发布时间: 2025年7月19日
来源: CodeCaptured
概述
作者经过多年的尝试和调整,最终构建了一套自托管(self-hosting)系统,并分享了其设计思路、技术选择以及具体的实现方案。该系统的核心目标是确保数据和服务的安全性、可控性,同时兼顾易用性和可维护性。
主要内容
目标与需求
- 目标: 作者希望通过自托管掌控自己的数据和服务,避免依赖第三方平台,确保隐私和服务的持续性。
- 需求:
- 尽量减少暴露在公网的服务,降低安全风险。
- 设计容错机制,避免因配置错误导致系统长时间宕机。
- 核心组件(如认证、网络、域名)完全自主控制,优先选择开源软件。
- 确保家人和朋友能够轻松使用,减少维护负担。
- 配置尽量声明式,便于版本控制和回滚。
- 更新过程简单且安全,避免因复杂操作导致更新延迟。
技术选择
- NixOS: 使用NixOS作为操作系统,通过Nix语言进行配置管理,确保系统的可重复性和一致性。
- ZFS: 采用ZFS文件系统,提供数据保护和快照功能,便于数据恢复。
- Tailscale: 使用Tailscale作为VPN,确保设备之间的安全连接,避免暴露在公网。
- Authelia & LLDAP: 使用Authelia进行身份验证和授权,LLDAP提供用户和组管理,确保服务的安全性。
系统布局设计
- 公共服务器: 作为入口,运行核心服务(如Authelia、headscale)和部分需要公网访问的服务(如博客)。
- 私有服务器: 运行主要服务(如Nextcloud、Jellyfin),使用ZFS存储数据,并通过NixOS进行管理。
- 其他服务: 将部分关键服务(如Home Assistant、Matrix)作为独立设备运行,确保其稳定性。
具体问题与解决方案
- 服务访问简化: 使用Flame创建服务导航页面,方便家人和朋友访问。
- Tailscale与VPN结合: 通过Tailscale的“exit node”功能与Gluetun结合,解决多VPN冲突问题。
- 认证配置: 详细介绍了如何配置Authelia和LLDAP,确保各服务的认证安全。
- DNS与SSL: 使用内部子域名和Lets Encrypt进行SSL证书管理,确保服务的安全性。
- NixOS在VPS上的安装: 提供了在VPS上安装NixOS的参考指南。
- TrueNAS数据集挂载: 通过桥接网络实现TrueNAS数据集在虚拟机上的挂载。
下一步计划
- 建立专用备份服务器,确保数据安全。
- 加强Tailscale网络的访问控制。
- 进一步提升系统安全性,如限制SSH访问。
- 考虑引入本地DNS加密和缓存服务(如Pi-hole或AdGuard Home)。
- 探索更多有趣的自托管服务(如Forgejo、Manyfold、RomM)。
图片
资源链接
文章末尾提供了多个有用的资源链接,帮助读者深入了解相关技术,如NixOS、ZFS、Tailscale等。
总结
作者通过详细的技术选择和系统设计,构建了一套高效、安全且易于维护的自托管系统,并分享了其经验和解决方案,旨在帮助其他自托管爱好者实现类似的目标。
评论总结
主要观点总结:
个人化技术配置的分享与参考价值
- mirdaki 分享了自己的技术配置过程,强调每个人的需求和目标不同,但他的经验可以作为参考。
- 引用:“Where I’ve landed of course isn’t where everyone else will, but I hope it can serve as a good reference.”
- 引用:“I’ve really benefited from the content and software folks have freely shared, and hope I can continue that and help others.”
低成本自托管方案的探讨
- dr_kiszonka 询问如何在低成本(约$5)下自托管类似 Pocket 的替代品,并考虑使用手机和 Google Drive 作为备份。
- 引用:“I want to self-host one of those floss Pocket replacements but I don’t want to pay more than what these projects charge for hosting the software themselves (~$5).”
- 引用:“If it was possible I would host it from my phone with a backup to Google Drive.”
家庭实验室的建立与硬件选择
- zer00eyz 建议从 eBay 购买便宜的 1L PC 开始家庭实验室,并推荐使用 Proxmox 和社区脚本来简化设置。
- 引用:“Grab a 1l pc off of ebay. Think center m720q or m920q with an i5 is a great place to start.”
- 引用:“When it arrives toss Proxmox on it and get your toys from the community scripts section... it will let you get set up on ‘easy mode’.”
自托管的技术挑战与复杂性
- jjangkke 表达在 Proxmox 上设置子网和虚拟机的困难,并询问是否应使用 Terraform 和 Ansible。
- 引用:“im using proxmox but struggling to setup subnets and vms.”
- 引用:“basically im trying to do what I used to do on AWS: setup VMs on private network talking to each other with one gateway dedicated to internet connection.”
安全性与网络配置的建议
- burnt-resistor 提供了一系列关于网络安全的建议,包括使用 WireGuard、LDAP 存储 SSH 密钥、ZFS 或 Ceph 存储等。
- 引用:“Setup your own WireGuard rather than Tailscale.. this is too much like Authy delegating AAA to a third-party.”
- 引用:“Use configuration and infrastructure management tools checked into git. If it ain’t automated, it’s just a big ball of mud no one know how to recreate.”
对复杂自托管设置的质疑
- lofaszvanitt 质疑为何需要如此复杂的设置,认为这种“数字设备妄想”是多余的。
- 引用:“Why people need these overly complicated setups and why do they need to have an access point to reach their ‘den’ from anywhere is beyond me.”
- 引用:“Security paranoia, but here are the details of my home lab. WHY? If god forbid someone gets in they could in an instant identify the target...”
简化自托管的替代方案
- dedge 认为 Synology Disk Station 等产品在数据所有权和维护之间提供了更好的平衡。
- 引用:“IMO this is too complicated. I think products like the Synology Disk Station strike a better balance between ownership of data and maintenance over time.”
总结:
评论中讨论了个人化技术配置的分享、低成本自托管方案、家庭实验室的建立、自托管的技术挑战、网络安全建议、对复杂设置的质疑以及简化自托管的替代方案。不同观点反映了自托管领域的多样性和复杂性,从技术细节到哲学思考均有涉及。
