My ansible setup to initial creation of a server to fit my needs. This is very heavily inspired from ansible-nas and there will be much overlap as I am very new to Ansible.
These are mostly a copy from Ansible-NAS, but with my additions at the bottom. Eventually, this list'll get paired down as there are some duplicates and services I don't know if I want. The ones I added are from parusing awesome-selfhosted and the Self-Hosted podcast. Some of these services will work best as seperate virtual machines, but that'll be for another day.
- Airsonic - catalog and stream music
- Bazarr - companion to Radarr and Sonarr for downloading subtitles
- Bitwarden_rs - Self-Hosting port of password manager
- Booksonic - The selfhosted audiobook server
- Calibre-web - Provides a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
- Cloudflare DDNS - automatically update Cloudflare with your IP address
- CouchPotato - for downloading and managing movies
- Dashy - A self-hosted startpage for your server. Easy to use visual editor, status checking, widgets, themes and tons more!
- Deluge - A lightweight, Free Software, cross-platform BitTorrent client.
- Duplicacy - A web UI for the Duplicacy cloud backup program, which provides lock-free deduplication backups to multiple providers
- Duplicati - for backing up your stuff
- Emby - Media streaming and management
- ESPHome - ESP8266/ESP32 programming and management for home automation
- Firefly III - Free and open source personal finance manager
- Fresh RSS - Self-hosted RSS feed aggregator like Leed or Kriss Feed
- Gitea - Simple self-hosted GitHub clone (debating between this and GitLab. Don't need all the features of GitLab, but it'd be nice to have in case)
- GitLab - Self-hosted GitHub clone of the highest order
- Glances - for seeing the state of your system via a web browser
- Gotify - Self-hosted server for sending push notifications
- Grafana - Query, visualize, alert on, and understand your data no matter where it’s stored (via stats role).
- Guacamole - Web based remote desktop gateway, supports VNC, RDP and SSH
- healthchecks.io - Ensure your NAS is online and get notified otherwise
- Heimdall - Home server dashboard
- Home Assistant - Open source home automation (this will be turned into a VM. You don't get all the features unless you use their VM)
- Jackett - API Support for your favorite torrent trackers
- Jellyfin - The Free Software Media System
- Joomla - Open source content management system
- Komga - a media server for your comics, mangas, BDs and magazines
- Lidarr - Music collection manager for Usenet and BitTorrent users
- Mealie - A self-hosted recipe manager and meal planner
- MiniDLNA - simple media server which is fully compliant with DLNA/UPnP-AV clients
- Miniflux - An RSS news reader
- Mosquitto - An open source MQTT broker (may or may not be needed as I'm using HomeAssistant)
- Mylar - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
- MyMediaForAlexa - Lets you stream your music collection to your alexa device
- navidrome - Modern Music Server and Streamer compatible with Subsonic/Airsonic
- netboot.xyz - a PXE boot server
- Netdata - An extremely comprehensive system monitoring solution
- Nextcloud - A self-hosted Dropbox alternative
- NZBget - The most efficient usenet downloader
- Ombi - web application that automatically gives your users the ability to request content
- Organizr - ORGANIZR aims to be your one stop shop for your Servers Frontend.
- overseerr - open source software application for managing requests for your media library
- Paperless_ng - Scan, index and archive all your physical documents
- Plex - Plex Media Server
- Portainer - for managing Docker and running custom images
- Prometheus - Time series database and monitoring system (via stats role).
- Prowlarr - Indexer aggregator for Sonarr, Radarr, Lidarr, etc.
- pyLoad - A download manager with a friendly web-interface
- Radarr - for organising and downloading movies
- Route53 DDNS - Automatically update AWS Route53 with your IP address (do I want anything Amazon?)
- RSS-Bridge - The RSS feed for websites missing it
- Sickchill - for managing TV episodes
- Sonarr - for downloading and managing TV episodes
- Syncthing - sync directories with another device
- Traefik - Web proxy and SSL certificate manager
- Transmission - BitTorrent client (with OpenVPN if you have a supported VPN provider)
- Ubooquity - Book and comic server
- uTorrent - The best torrent downloading app for beginners
- Virtual Desktop - A virtual desktop running on your NAS.
- Wallabag - Save and classify articles. Read them later.
- Watchtower - Monitor your Docker containers and update them if a new version is available (testing)
- YouTubeDL-Material - Self-hosted YouTube downloader built on Material Design
- Exadel Compare Face
- Hagium
- open library
- Medusa
- Tube Archivish
- utask
- Baihal
- FreePBX (prob on seperate server, but want to test it out before deploying - if I ever do)
- Stump
- Kavita
- Full-Text RSS
- Audio bookshelf
- 2F Auth
- Monica
- Ombi
- Teleport
- Tandoor Recipes
- Media Wiki (when doing anything, over do it. Or at least that's my habit)
Since you can't netboot a complete Ansible install (or could you? I should look that up), I've made some assumptions on the system this'll be implemented in.
The OS (as of now) is whatever the most current Ubuntu LTS is. I'm not so much a fan of all the snap stuff they're putting in, so this might change to OpenSUSE or CENTOS Stream in the future.
ZFS everywhere. Okay, maybe not for the OS just yet. But everywhere else that data'll be, it will have ZFS as the file system. There will be subvolumes that will be created in this setup, so the base setup of the pool is all that's required of the user.