After getting burned by broken FreeNAS updates one too many times, I figured I could do a much better job myself using just a stock Ubuntu install, some clever Ansible config and a bunch of Docker containers.
You can configure Ansible-NAS to set up any (or all!) of the applications listed below on your home server.
If you have a spare domain name you can configure applications to be accessible externally to your home LAN too; they'll be configured with a sensible hostname and DNS gets updated accordingly if your home IP address changes.
Ansible-NAS can run anything that's in a Docker image, which is why Portainer is included. A NAS configuration is a pretty personal thing based on what you download, what media you view, how many photos you take...so it's difficult to please everyone.
That said, if specific functionality you want isn't included and you think others could benefit, add it and raise a PR!
Ansible NAS doesn't set up your disk partitions, primarily because getting it wrong can be incredibly destructive. That aside, configuring partitions is usually a one-time (or very infrequent) event, so there's not much to be gained by automating it. Check out the docs for recommended setups.
See Installation.
The way Ansible-NAS configuration is structured has changed! See Upgrading for more information. See the Getting Help section if you get stuck.
You can read the docs here. PRs for more documentation always welcome!
Assuming that your Ubuntu system disk is separate from your storage (it should be!):
zpool list
to determine available ZFS pools.zpool import <pool_name>
against each of the pools you want to attach.chown -R root:root /mnt/<pool_name>
to fix the ownership of the data.Getting help is easy! You can:
Contributions are always welcome! Please read CONTRIBUTING.md first.
If you've enjoyed Ansible-NAS as much as I do working on it, please consider buying me a coffee ☕️
The awesome dudes at JetBrains for supplying core contributors with JetBrains Open Source licenses!
All of the awesome contributors to Ansible-NAS: