This repo holds the Ansible playbooks and tasks for my Raspberry Pi NAS. It's a Raspberry Pi 4B enclosed in an Argon EON case, with a few hard drives in it.
I use Debian as the base OS, and on top of it I've setup:
- ZFS for storage (RAID1-like mirroring and snapshots)
- The Argon EON service to manage the fan speed according to the temperature
- A WireGuard tunnel to access my NAS from my devices anywhere
DuckDNS for dynamic DNSjust switched to a real domain name!- Syncthing to sync folders between my computer/phone and my NAS (documents, pictures...)
- Vaultwarden for my passwords
- Nextcloud
- Nginx as a reverse proxy for other web-based services
- Transmission daemon, to download torrents remotely
- Let's Encrypt certificates with certbot
- playlist-sync to continously download my playlists (I then sync them to my phone using Syncthing)
- Navidrome to stream my music from my phone / PC
- ntfy to send me notifications when things go wrong (failing hard drive, unusual SSH login...)
All of this is managed with the Ansible playbooks in this repo. All the roles used are available in their own repository on my GitHub and are added as submodules (clone with --recurse-submodules).