- Ultimate NAS - DevOps Edition
- About
- What Ultimate DevOps NAS Does
- Stats
- List of Self-Hosted NAS Applications to be Used
- Tech Stack
- Installation
- Documentation
- Requirements
This project draws inspiration from several other existing open source projects:
- Perfect Media Server - Open-source media server framework by Alex Kretzschmar, using Linux paired with MergerFS (virtual, modular, configurable filesystem that allows for storage aggregation using different underlying filesystems) and SnapRAID (scriptable, self-healing software-based RAID targeted for home media centers) as an FOSS alternative for proprietary NAS solutions such as unRAID, OpenMediaVault, etc.
- Ansible NAS - NAS project by David Stephens, forking his project as the core Ansible deployment
- Wolfgang's Home Server Ansible Playbook - Ansible playbook for home server by Linux YouTuber Wolfgang, pulling some application and config ideas from this project
- DevOps Boilerplate Code - Boilerplates for Terraform and Proxmox infrastructure deployments by Christian Lempa
This intends to be a self-contained and automated provisioning and configuring of a feature-rich NAS host, with a flexible and modular configuration.
All services will be deployed via Ansible playbooks, with all services containerized with Docker. The eventual goal is to migrate all services to Kubernetes (something for smaller-scale clusters like K3s, Minikube, etc.) at a later point.
There is complexity with this due to some services being stateful (any apps using a built-in SQLite DB like Sonarr, Jellyfin, etc.) or requiring sidecar pods (any apps requiring a separate DB container, such as Firefly, Gitea, NextCloud, etc.)
All services are meant to be optional and swappable with alternatives of one's choosing, as each service will be deployed with an Ansible playbook using <SERVICE_NAME>_enabled
as a deployment variable.
Features include:
- Flexible storage and software-based RAID
- Front-end dashboard
- Services Health Checks
- Monitoring and Logging
- Home Automation dashboard
- Media server
- Movies
- TV Shows
- eBooks
- Comics/Manga
- Torrent management
- Tracking
- Auto Downloader
- Traefik Reverse Proxy
- Dynamic DNS
- Password Vault
- Private Cloud
- File Storage
- Photo Storage
Planned features include:
- End-to-end self-hosted CI/CD pipelines for deployment
- Different environments for dev, staging and prod
- Using Kubernetes or Docker Swarm in place of just Docker
- Self-hosted MFA with Authelia
* Badges generated by Shields.io *
- virtual, modular, configurable filesystem that allows for storage aggregation using different underlying filesystems
- software-based RAID targeted for home media centers that allows for bitrot prevention, self-healing and scriptable scheduling of array sync
- Self-hosted CI/CD runner, feature-rich
- n8n - Nodemation, a node based workflow and automation service like IFTTT.
- Woodpecker-CI - a simple CI engine with great extensibility, forked from Drone.
- Dashy - A self-hosted startpage for your server. Easy to use visual editor, status checking, widgets, themes and tons more!
- Flame (Another static home page)
- Homer (A static home page)
- Krusader - Twin panel file management for your desktop
- Organizr - ORGANIZR aims to be your one stop shop for your Servers Frontend.
- Query, visualize, alert on, and understand your data no matter where it’s stored (via stats role).
- for managing Docker and running custom images
- Time series database and monitoring system (via stats role).
- healthchecks.io - Ensure your NAS is online and get notified otherwise
- Netdata - An extremely comprehensive system monitoring solution
- Tautulli - Monitor Your Plex Media Server
- Watchtower - Monitor your Docker containers and update them if a new version is available
- An open source MQTT broker
- Gotify - Self-hosted server for sending push notifications
- automatically update Cloudflare with your IP address
(A controller for UniFi devices such as routers and Access Points)
- Guacamole - Web based remote desktop gateway, supports VNC, RDP and SSH
- DuckDNS (A dynamic DNS client for DuckDNS)
- A NGINX-based web server focused on security; needs Certbot + fail2ban)
- netboot.xyz - a PXE boot server
- SWAG (A reverse proxy with built-in support for dynamic DNS, Certbot and fail2ban)
- Authelia - An authentication provider
- Syncthing - sync directories with another device
- Code Server - Powerful IDE from Microsoft accessible through the browser
- Radarr - for organising and downloading movies
- Sonarr - for downloading and managing TV episodes
- Bazarr - companion to Radarr and Sonarr for downloading subtitles
- Lidarr - Music collection manager for Usenet and BitTorrent users
- Mylar - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
- Prowlarr - Indexer aggregator for Sonarr, Radarr, Lidarr, etc.
- Jackett - API Support for your favorite torrent trackers
- YouTubeDL-Material - Self-hosted YouTube downloader built on Material Design
- Overseerr - open source software application for managing requests for your media library; front end replacement for Sonarr and Radarr
- CouchPotato - for downloading and managing movies
- arch-delugevpn (An Arch Linux container running Deluge and an Wireguard/OpenVPN client with a kill switch)
- Transmission - BitTorrent client (with OpenVPN if you have a supported VPN provider)
- pyLoad - A download manager with a friendly web-interface
- The Free Software Media System
- Plex Media Server
- Airsonic - catalog and stream music
- Navidrome - Modern Music Server and Streamer compatible with Subsonic/Airsonic
- Komga - a media server for your comics, mangas, BDs and magazines
- Calibre-web - Provides a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
- Paperless_ng - Scan, index and archive all your physical documents
- Photo Gallery Software
- Booksonic (An audiobook server)
- Miniflux - An RSS news reader
- Ubooquity - Book and comic server
- openHAB - A vendor and technology agnostic open source automation software for your home; Alternative to Home Assistant