# Changelog 2026-01-12 ## Servarr Stack — Migration VPN Complète ### Contexte La stack Servarr avait initialement Transmission derrière le VPN (gluetun), mais Prowlarr, Sonarr et Radarr étaient exposés directement sur le réseau Docker, sans protection VPN. ### Changements #### Architecture réseau | Service | Avant | Après | |---------|-------|-------| | Transmission | ✅ Via VPN | ✅ Via VPN | | Prowlarr | ❌ Direct | ✅ Via VPN | | Sonarr | ❌ Direct | ✅ Via VPN | | Radarr | ❌ Direct | ✅ Via VPN | #### Configuration Docker Tous les services utilisent maintenant `network_mode: "service:gluetun"` : ```yaml services: gluetun: ports: - "9091:9091" # Transmission - "9696:9696" # Prowlarr - "7878:7878" # Radarr - "8989:8989" # Sonarr environment: - FIREWALL_OUTBOUND_SUBNETS=192.168.0.0/16,100.64.0.0/10 prowlarr: network_mode: "service:gluetun" depends_on: gluetun: condition: service_healthy sonarr: network_mode: "service:gluetun" # ... radarr: network_mode: "service:gluetun" # ... ``` #### Configuration des apps Les connexions internes ont été mises à jour dans les bases SQLite : | App | Setting | Ancienne valeur | Nouvelle valeur | |-----|---------|-----------------|-----------------| | Prowlarr | Download Client | `gluetun:9091` | `localhost:9091` | | Prowlarr | Sonarr App | `http://sonarr:8989` | `http://localhost:8989` | | Prowlarr | Radarr App | `http://radarr:7878` | `http://localhost:7878` | | Sonarr | Download Client | `gluetun:9091` | `localhost:9091` | | Radarr | Download Client | `gluetun:9091` | `localhost:9091` | ### Avantages 1. **Kill switch intégré** : Si gluetun tombe, aucun service n'a accès Internet 2. **IP unique** : Tous les services apparaissent avec la même IP ProtonVPN 3. **Sécurité renforcée** : Les indexeurs et API sont protégés par le VPN 4. **Cohérence** : Architecture uniforme pour toute la stack ### Vérification ```bash # Vérifier l'IP VPN docker exec gluetun wget -qO- https://ipinfo.io/ip # Résultat: 5.253.204.x (ProtonVPN Luxembourg) # Tester la connectivité interne docker exec gluetun sh -c 'wget -qO- http://localhost:9696/ping' # Résultat: {"status":"OK"} ``` ### Fichiers modifiés - `~/lake/servarr/docker-compose.yml` — nouvelle architecture - `~/lake/servarr/prowlarr/prowlarr.db` — connexions internes - `~/lake/servarr/sonarr/sonarr.db` — connexions internes - `~/lake/servarr/radarr/radarr.db` — connexions internes ### Backup Ancien compose sauvegardé : `~/lake/servarr/docker-compose.yml.bak` ### Notes - Caddy continue de proxyfier via `gluetun:PORT` - Le Caddyfile existant était déjà correct, seul un `caddy reload` était nécessaire - Le cache DNS de Caddy peut nécessiter un restart complet du container après modifications