/
/
/
Ansible role that provisions my storage server.
1# Storage
2
3Media automation stack: Jellyfin, Arr suite, download clients, Calibre, and restic backup server.
4
5## Key Parameters
6
7| Variable | Default | Description |
8|----------|---------|-------------|
9| `storage_jellyfin_enabled` | `true` | Jellyfin media server |
10| `storage_sonarr_enabled` | `true` | Sonarr (TV shows) |
11| `storage_radarr_enabled` | `true` | Radarr (movies) |
12| `storage_prowlarr_enabled` | `true` | Prowlarr (indexer manager) |
13| `storage_lazylibrarian_enabled` | `true` | LazyLibrarian (books) |
14| `storage_jellyseer_enabled` | `true` | Jellyseer (media requests) |
15| `storage_calibre_enabled` | `true` | Calibre server + web interface |
16| `storage_gluetun_enabled` | `true` | VPN gateway for Arr stack |
17| `storage_restic_backup_server_enabled` | `true` | Restic REST backup server |
18| `jellyfin_hardware_acceleration` | `vaapi` | GPU transcoding: `vaapi`, `nvidia`, `qsv` |
19| `vault_gluetun_*` | (vault) | VPN provider credentials |
20
21## Workflow
22
231. Validate vault credentials are available
242. Create Docker directories and media library structure
253. Deploy Jellyfin with hardware transcoding (if enabled)
264. Deploy Arr stack behind Gluetun VPN (Sonarr, Radarr, Prowlarr, Bazarr)
275. Deploy download clients (qBittorrent, Flaresolverr)
286. Deploy Calibre server and web interface (if enabled)
297. Deploy restic REST backup server (if enabled)
30