Ansible-NAS:用 Ansible 和 Docker 搭建你的家庭服务器
文章目录
Ansible-NAS:用 Ansible 和 Docker 搭建你的家庭服务器
Ansible-NAS 在 GitHub 上拿到了 3,755 Star。
这个项目解决的问题很直接:用 Ansible 脚本配合 Docker 容器,在一台普通的 Ubuntu 机器上搭建功能完整的 NAS 系统。作者被 FreeNAS 的更新搞怕了,索性自己动手写了一套方案。

1、 这个项目解决什么问题
传统 NAS 系统要么依赖特定硬件,要么更新频繁容易出问题。
FreeNAS 改名 TrueNAS 之后,更新导致系统挂掉的案例不少。Ansible-NAS 的思路不一样:底层用标准 Ubuntu,上层用 Ansible 做配置管理,所有服务跑在 Docker 容器里。任何一个环节出问题,单独处理就行,不用动整个系统。
2、 能跑什么
项目内置了 80 多个应用的角色定义,覆盖影音、下载、开发、智能家居、监控、文档管理这些常见需求。
影音方面有 Plex、Jellyfin、Emby,配合 Sonarr、Radarr、Lidarr 做自动下载和管理。Jellyfin 是完全开源的方案,不花钱。Sonarr 负责电视剧,Radarr 负责电影,Lidarr 管音乐,三个搭配起来基本能实现无人值守的媒体库维护。

下载工具支持 Transmission、Deluge、SABnzbd、NZBget,主流协议都覆盖了。Bitwarden 做密码管理,Nextcloud 做网盘同步,Syncthing 做多设备文件同步。智能家居有 Home Assistant 和 openHAB 两个选项。监控用 Netdata 加 Grafana 加 Prometheus 的组合。开发相关的有 Gitea、GitLab、Drone CI、Woodpecker CI。
基本上你能想到的家庭服务器场景,这里面都有现成的角色可以直接启用。
3、 怎么装
系统要求是 Ubuntu Server 22.04 LTS,硬件随便,作者自己用的是一台 HP Microserver。装好 Ubuntu 之后,克隆项目仓库,编辑配置文件选择要启用的应用,跑一条 Ansible 命令就完事了。
如果你有闲置域名,还能配置外网访问。DNS 会自动更新,家里的 IP 变了也不影响。
唯一没做的就是磁盘分区。作者的考虑是分区操作搞错了后果很严重,而且一般只做一次,没必要自动化。文档里有推荐的分区方案可以参考。
4、 和 FreeNAS 比有什么区别
FreeNAS(现在叫 TrueNAS)是一套完整的操作系统,基于 FreeBSD,有自己的内核和文件系统。好处是开箱即用,坏处是一旦更新出问题,整个系统可能起不来。
Ansible-NAS 跑在标准 Ubuntu 上,用 Docker 隔离每个服务。更新某个应用不影响其他服务,系统层面的更新走 Ubuntu 自己的 apt 就行。出问题的时候排查范围小,恢复也快。
代价是需要自己动手配置,没有图形化的安装向导。但如果你熟悉 Linux 命令行和基本的 Ansible 概念,这个门槛不算高。
5、 适合什么人
家里有闲置电脑或者小型服务器,想搭一套功能完整的 NAS 但不想被商业方案绑定的人。
对 Linux 有基本了解,能看懂 YAML 配置文件,愿意花一两个小时做初始配置的用户。
需要跑大量自托管服务,希望每个服务互相隔离、独立升级、互不影响的场景。
时做初始配置的用户。
需要跑大量自托管服务,希望每个服务互相隔离、独立升级、互不影响的场景。
更多推荐
所有评论(0)