97 lines
2.8 KiB
Markdown
97 lines
2.8 KiB
Markdown
# 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
|