Initial commit - Migration documentation 2026
This commit is contained in:
141
docs/vault/services-v1/authelia.md
Normal file
141
docs/vault/services-v1/authelia.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# Authelia - SSO
|
||||
|
||||
Authelia fournit l authentification unique (SSO) pour tous les services Talloires.
|
||||
|
||||
## Acces
|
||||
|
||||
| Parametre | Valeur |
|
||||
|-----------|--------|
|
||||
| URL | [auth.talloires.local](https://auth.talloires.local) |
|
||||
| Utilisateur | lionel |
|
||||
| Email | dflected@dflected.org |
|
||||
| 2FA | TOTP active |
|
||||
|
||||
## Matrice de protection des services
|
||||
|
||||
| Service | Authelia | Raison |
|
||||
|---------|----------|--------|
|
||||
| **docs** | ✅ | Documentation interne |
|
||||
| **portainer** | ✅ | Admin Docker |
|
||||
| **dockge** | ✅ | Admin Docker Compose |
|
||||
| **transmission** | ✅ | Client torrent |
|
||||
| **netdata** | ✅ | Monitoring systeme |
|
||||
| **grafana** | ✅ | Dashboards / Logs |
|
||||
| **uptime** | ✅ | Monitoring disponibilite |
|
||||
| **cockpit** | ✅ | Admin systeme |
|
||||
| **languagetool** | ✅ | API grammaire |
|
||||
| **auth** | ❌ | C est Authelia lui-meme |
|
||||
| **git** | ❌ | Auth OIDC propre |
|
||||
| **jellyfin** | ❌ | Auth propre |
|
||||
| **homeassistant** | ❌ | Auth propre |
|
||||
| **linkwarden** | ❌ | Auth propre |
|
||||
| **vikunja** | ❌ | Auth propre |
|
||||
| **outline** | ❌ | Auth OIDC propre |
|
||||
|
||||
> **Note** : Cette protection s applique aux domaines `.local` ET `.tailfd281f.ts.net`
|
||||
|
||||
## Services avec OAuth/OIDC
|
||||
|
||||
Ces services utilisent Authelia comme provider OpenID Connect :
|
||||
|
||||
### Gitea
|
||||
| Parametre | Valeur |
|
||||
|-----------|--------|
|
||||
| Client ID | gitea |
|
||||
| Redirect URI | https://git.talloires.local/user/oauth2/Authelia/callback |
|
||||
| Scopes | openid, email, profile |
|
||||
|
||||
### Outline
|
||||
| Parametre | Valeur |
|
||||
|-----------|--------|
|
||||
| Client ID | outline |
|
||||
| Redirect URI | https://outline.talloires.local/auth/oidc.callback |
|
||||
| Scopes | openid, offline_access, profile, email |
|
||||
|
||||
### Grafana (Header Auth)
|
||||
Grafana utilise l authentification par header via Authelia (pas OIDC) :
|
||||
|
||||
| Header | Valeur |
|
||||
|--------|--------|
|
||||
| Remote-User | Utilisateur authentifie |
|
||||
| Remote-Email | Email de l utilisateur |
|
||||
|
||||
## Configuration
|
||||
|
||||
### Fichiers
|
||||
| Fichier | Usage |
|
||||
|---------|-------|
|
||||
| ~/docker/authelia/config/configuration.yml | Config principale |
|
||||
| ~/docker/authelia/config/users_database.yml | Base utilisateurs |
|
||||
| ~/docker/authelia/config/oidc.key | Cle privee OIDC |
|
||||
|
||||
### SMTP (Proton Mail)
|
||||
| Parametre | Valeur |
|
||||
|-----------|--------|
|
||||
| Serveur | smtp.protonmail.ch:465 |
|
||||
| Protocol | TLS implicite |
|
||||
| From | Talloires <dflected@dflected.org> |
|
||||
|
||||
## Integration Caddy
|
||||
|
||||
### Snippet forward_auth
|
||||
```
|
||||
(authelia) {
|
||||
forward_auth authelia:9091 {
|
||||
uri /api/authz/forward-auth
|
||||
copy_headers Remote-User Remote-Groups Remote-Email Remote-Name
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Usage dans Caddyfile
|
||||
```
|
||||
monservice.talloires.local, monservice.talloires.tailfd281f.ts.net {
|
||||
import authelia
|
||||
reverse_proxy backend:port
|
||||
tls internal
|
||||
}
|
||||
```
|
||||
|
||||
## Ajouter un client OIDC
|
||||
|
||||
1. Generer le hash du secret :
|
||||
```bash
|
||||
docker exec authelia authelia crypto hash generate pbkdf2 --password "mon-secret"
|
||||
```
|
||||
|
||||
2. Ajouter dans configuration.yml :
|
||||
```yaml
|
||||
- client_id: nouveau_client
|
||||
client_name: Mon Service
|
||||
client_secret: "$pbkdf2-sha512$..."
|
||||
public: false
|
||||
authorization_policy: two_factor
|
||||
redirect_uris:
|
||||
- https://service.talloires.local/callback
|
||||
scopes:
|
||||
- openid
|
||||
- email
|
||||
- profile
|
||||
```
|
||||
|
||||
3. Redemarrer Authelia :
|
||||
```bash
|
||||
docker restart authelia
|
||||
```
|
||||
|
||||
## Commandes utiles
|
||||
|
||||
```bash
|
||||
# Logs
|
||||
docker logs authelia -f
|
||||
|
||||
# Hash mot de passe utilisateur
|
||||
docker exec authelia authelia crypto hash generate argon2 --password "motdepasse"
|
||||
|
||||
# Hash OIDC client secret
|
||||
docker exec authelia authelia crypto hash generate pbkdf2 --password "secret"
|
||||
|
||||
# Valider la configuration
|
||||
docker exec authelia authelia validate-config
|
||||
```
|
||||
76
docs/vault/services-v1/backup.md
Normal file
76
docs/vault/services-v1/backup.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Backup
|
||||
|
||||
Sauvegarde automatique de Talloires vers Annecy (Synology NAS).
|
||||
|
||||
## Configuration
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| Script | ~/backup-to-annecy.sh |
|
||||
| Destination | rsync-talloires@10.171.171.50:/volume1/Backups/talloires/ |
|
||||
| Méthode | tar over SSH (rsync SUID bloqué sur Synology DSM 7) |
|
||||
| Schedule | Cron quotidien à 3h00 |
|
||||
| Rétention | 7 derniers backups |
|
||||
| Log | ~/backup.log |
|
||||
|
||||
## Données sauvegardées
|
||||
|
||||
- ~/docker/ (toutes les configs Docker)
|
||||
|
||||
### Exclusions
|
||||
- *.log
|
||||
- */cache/*
|
||||
- */logs/*
|
||||
- */__pycache__/*
|
||||
|
||||
## Authentification SSH
|
||||
|
||||
- Clé privée (root): /root/.ssh/id_ed25519
|
||||
- Clé privée (lionel): ~/.ssh/id_ed25519
|
||||
- Utilisateur distant: rsync-talloires
|
||||
- Fingerprint: SHA256:CxpeBfvrBV/s+RNE49SwrY3WsG28Du3nyQ/2D9lApU8
|
||||
|
||||
## Commandes
|
||||
|
||||
### Lancer un backup manuel
|
||||
```bash
|
||||
~/backup-to-annecy.sh
|
||||
```
|
||||
|
||||
### Vérifier le log
|
||||
```bash
|
||||
cat ~/backup.log
|
||||
```
|
||||
|
||||
### Vérifier les backups sur Annecy
|
||||
```bash
|
||||
sudo ssh -i /root/.ssh/id_ed25519 rsync-talloires@10.171.171.50 "ls -lh /volume1/Backups/talloires/"
|
||||
```
|
||||
|
||||
### Restaurer un backup
|
||||
```bash
|
||||
# Sur Talloires
|
||||
sudo ssh -i /root/.ssh/id_ed25519 rsync-talloires@10.171.171.50 "cat /volume1/Backups/talloires/docker-backup-YYYYMMDD-HHMMSS.tar.gz" | sudo tar -xzf - -C /home/lionel/
|
||||
```
|
||||
|
||||
## Cron
|
||||
|
||||
```bash
|
||||
# Voir le cron
|
||||
sudo crontab -l
|
||||
|
||||
# Modifier
|
||||
sudo crontab -e
|
||||
```
|
||||
|
||||
Entrée actuelle :
|
||||
```
|
||||
0 3 * * * /home/lionel/backup-to-annecy.sh
|
||||
```
|
||||
|
||||
## Notes techniques
|
||||
|
||||
Le rsync classique ne fonctionne pas avec Synology DSM 7 car :
|
||||
- rsync est SUID root sur DSM
|
||||
- Les utilisateurs non-admin nont pas de shell par défaut
|
||||
- Solution: tar over SSH fonctionne parfaitement
|
||||
3
docs/vault/services-v1/grafana.md
Normal file
3
docs/vault/services-v1/grafana.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Grafana - Monitoring & Alertes
|
||||
|
||||
## Vue densemble
|
||||
148
docs/vault/services-v1/overview.md
Normal file
148
docs/vault/services-v1/overview.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# Vue ensemble des services
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
Client (Mac/iPhone)
|
||||
|
|
||||
| HTTPS (certificat Caddy CA)
|
||||
v
|
||||
[Caddy] :443
|
||||
|
|
||||
+-- forward_auth --> [Authelia] :9091
|
||||
| |
|
||||
| (si authentifié)
|
||||
| |
|
||||
+-------------------------+
|
||||
|
|
||||
v
|
||||
Services Docker
|
||||
```
|
||||
|
||||
## Services actifs (24 containers)
|
||||
|
||||
### 🎬 Média
|
||||
| Service | Container | Port | Description |
|
||||
|---------|-----------|------|-------------|
|
||||
| Jellyfin | jellyfin | 8096 | Streaming vidéo avec transcodage hardware (VideoCore) |
|
||||
| Transmission | transmission | 9091, 51413 | Client BitTorrent avec web UI |
|
||||
|
||||
### ✅ Productivité
|
||||
| Service | Container | Port | Description |
|
||||
|---------|-----------|------|-------------|
|
||||
| Vikunja | vikunja | 3456 | Gestion de tâches style Todoist/Trello avec CalDAV |
|
||||
| Outline | outline + outline-db + outline-redis | 3000 | Wiki collaboratif avec OIDC (PostgreSQL + Redis) |
|
||||
| Linkwarden | linkwarden + linkwarden-db | 3000 | Gestionnaire de bookmarks avancé avec archivage |
|
||||
| LanguageTool | languagetool | 8010 | Serveur de correction grammaticale (FR/EN/DE) |
|
||||
|
||||
### 🔧 Infrastructure
|
||||
| Service | Container | Port | Description |
|
||||
|---------|-----------|------|-------------|
|
||||
| Portainer | portainer | 9000 | Interface de gestion Docker |
|
||||
| Dockge | dockge | 5001 | Interface Docker Compose |
|
||||
| Gitea | gitea | 3000, 22 | Serveur Git avec SSO Authelia |
|
||||
| MkDocs | mkdocs | 8000 | Cette documentation |
|
||||
|
||||
### 📊 Monitoring
|
||||
| Service | Container | Port | Description |
|
||||
|---------|-----------|------|-------------|
|
||||
| Grafana | grafana | 3000 | Dashboards et visualisation (header auth via Authelia) |
|
||||
| Netdata | netdata | 19999 | Monitoring système temps réel |
|
||||
| Uptime Kuma | uptime-kuma | 3001 | Surveillance uptime des services |
|
||||
| Loki | loki | 3100 | Agrégation de logs |
|
||||
| Promtail | promtail | - | Collecte de logs pour Loki |
|
||||
| Syslog-ng | syslog-ng | 1514 | Collecte syslog centralisée |
|
||||
|
||||
### 🏠 Domotique
|
||||
| Service | Container | Port | Description |
|
||||
|---------|-----------|------|-------------|
|
||||
| Home Assistant | homeassistant | 8123 | Automatisation domotique (mode host network) |
|
||||
|
||||
### 🔐 Sécurité
|
||||
| Service | Container | Port | Description |
|
||||
|---------|-----------|------|-------------|
|
||||
| Authelia | authelia | 9091 | SSO, 2FA, OIDC provider |
|
||||
| CrowdSec | crowdsec | - | IDS/IPS collaboratif |
|
||||
| Caddy | caddy | 80, 443 | Reverse proxy avec TLS automatique |
|
||||
|
||||
### 🔄 Maintenance
|
||||
| Service | Container | Port | Description |
|
||||
|---------|-----------|------|-------------|
|
||||
| Watchtower | watchtower | 8080 | Mise à jour auto des containers (4h00) |
|
||||
|
||||
## Répertoires Docker
|
||||
|
||||
```
|
||||
~/docker/
|
||||
├── authelia/ # Config SSO
|
||||
├── caddy/ # Caddyfile + certificats
|
||||
├── crowdsec/ # Config IDS
|
||||
├── dockge/ # Stacks Dockge
|
||||
├── docs/ # MkDocs (cette doc)
|
||||
├── gitea/ # Config + data Gitea
|
||||
├── grafana/ # Dashboards
|
||||
├── homeassistant/ # Config HA
|
||||
├── languagetool/ # Config LT
|
||||
├── linkwarden/ # Config Linkwarden
|
||||
├── outline/ # Config Outline
|
||||
├── syslog-ng/ # Config syslog
|
||||
├── talloires/ # Stack principal (docker-compose.yml)
|
||||
├── uptime-kuma/ # Data Uptime Kuma
|
||||
├── vikunja/ # Config Vikunja
|
||||
└── zeronsd/ # DNS ZeroTier
|
||||
```
|
||||
|
||||
## Réseau
|
||||
|
||||
| Réseau | Plage | Usage |
|
||||
|--------|-------|-------|
|
||||
| ZeroTier | 10.144.0.0/16 | Accès distant |
|
||||
| Docker talloires_net | 172.20.0.0/16 | Inter-containers |
|
||||
| LAN physique | 10.171.171.0/24 | Réseau local |
|
||||
|
||||
### Adresses ZeroTier clés
|
||||
| Serveur | IP |
|
||||
|---------|-----|
|
||||
| Talloires (Pi5) | 10.144.221.22 |
|
||||
| Annecy (Synology) | 10.144.78.193 |
|
||||
| Olympou (Mac) | 10.144.46.46 |
|
||||
|
||||
## Stockage
|
||||
|
||||
| Mount | Source | Usage |
|
||||
|-------|--------|-------|
|
||||
| /mnt/mediaserver | USB SSD 4TB | Films, Séries, Downloads, Databases |
|
||||
| ~/docker | SD Card | Configs Docker légères |
|
||||
|
||||
### Structure USB (/mnt/mediaserver)
|
||||
```
|
||||
/mnt/mediaserver/
|
||||
├── databases/
|
||||
│ ├── languagetool/ngrams/ # N-grams FR/EN/DE (~8GB)
|
||||
│ └── outline/
|
||||
│ ├── data/ # Fichiers Outline
|
||||
│ ├── postgres/ # PostgreSQL Outline
|
||||
│ └── redis/ # Redis Outline
|
||||
├── downloads/ # Transmission
|
||||
├── movies/ # Films (Jellyfin)
|
||||
└── series/ # Séries (Jellyfin)
|
||||
```
|
||||
|
||||
## Backup
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| Destination | Annecy (Synology) |
|
||||
| Schedule | 3h00 quotidien |
|
||||
| Rétention | 7 jours |
|
||||
| Méthode | tar over SSH |
|
||||
|
||||
Voir [Scripts de maintenance](../reference/scripts.md) pour les détails.
|
||||
|
||||
## Maintenance automatique
|
||||
|
||||
| Tâche | Schedule | Outil |
|
||||
|-------|----------|-------|
|
||||
| Mise à jour containers | 4h00 | Watchtower |
|
||||
| Backup vers Annecy | 3h00 | backup-to-annecy.sh (cron) |
|
||||
| Nettoyage images | Après update | docker image prune |
|
||||
109
docs/vault/services-v1/shlink.md
Normal file
109
docs/vault/services-v1/shlink.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# Shlink - Go Links
|
||||
|
||||
Shlink est un service de raccourcissement d URL qui permet de creer des go-links personnalises.
|
||||
|
||||
## Acces
|
||||
|
||||
| Interface | URL |
|
||||
|-----------|-----|
|
||||
| Go Links | `https://go/xxx` |
|
||||
| Admin | [go/shlink](https://go/shlink) |
|
||||
|
||||
## Go Links disponibles
|
||||
|
||||
| Raccourci | Destination |
|
||||
|-----------|-------------|
|
||||
| go/ha | Home Assistant |
|
||||
| go/homeassistant | Home Assistant |
|
||||
| go/jf | Jellyfin |
|
||||
| go/jellyfin | Jellyfin |
|
||||
| go/lw | Linkwarden |
|
||||
| go/linkwarden | Linkwarden |
|
||||
| go/lt | LanguageTool |
|
||||
| go/languagetool | LanguageTool |
|
||||
| go/docs | Documentation |
|
||||
| go/git | Gitea |
|
||||
| go/auth | Authelia |
|
||||
| go/grafana | Grafana |
|
||||
| go/dockge | Dockge |
|
||||
| go/portainer | Portainer |
|
||||
| go/transmission | Transmission |
|
||||
| go/netdata | Netdata |
|
||||
| go/uptime | Uptime Kuma |
|
||||
| go/cockpit | Cockpit |
|
||||
| go/vikunja | Vikunja |
|
||||
| go/outline | Outline |
|
||||
| go/cryptpad | CryptPad |
|
||||
| go/shlink | Admin Shlink |
|
||||
|
||||
## Creer un nouveau go-link
|
||||
|
||||
### Via interface web
|
||||
|
||||
1. Aller sur [go/shlink](https://go/shlink)
|
||||
2. Cliquer sur "Create short URL"
|
||||
3. Entrer l URL longue et le slug personnalise
|
||||
|
||||
### Via CLI
|
||||
|
||||
```bash
|
||||
docker exec shlink shlink short-url:create https://example.com --custom-slug=example
|
||||
```
|
||||
|
||||
### Lister tous les liens
|
||||
|
||||
```bash
|
||||
docker exec shlink shlink short-url:list
|
||||
```
|
||||
|
||||
### Supprimer un lien
|
||||
|
||||
```bash
|
||||
docker exec shlink shlink short-url:delete <short-code>
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
- **Domaine** : go
|
||||
- **Base de donnees** : SQLite
|
||||
- **Statistiques** : Activees (visites trackees)
|
||||
|
||||
## Docker Compose
|
||||
|
||||
Emplacement : `~/docker/shlink/docker-compose.yml`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
shlink:
|
||||
image: shlinkio/shlink:stable
|
||||
container_name: shlink
|
||||
environment:
|
||||
- DEFAULT_DOMAIN=go
|
||||
- IS_HTTPS_ENABLED=true
|
||||
- DB_DRIVER=sqlite
|
||||
volumes:
|
||||
- ./data:/etc/shlink/data
|
||||
networks:
|
||||
- talloires_net
|
||||
|
||||
shlink-web:
|
||||
image: shlinkio/shlink-web-client:stable
|
||||
container_name: shlink-web
|
||||
networks:
|
||||
- talloires_net
|
||||
```
|
||||
|
||||
## Caddy
|
||||
|
||||
```
|
||||
go, go.local, go.tailfd281f.ts.net {
|
||||
reverse_proxy shlink:8080
|
||||
tls internal
|
||||
}
|
||||
|
||||
shlink.talloires.local, shlink.talloires.tailfd281f.ts.net {
|
||||
import authelia
|
||||
reverse_proxy shlink-web:8080
|
||||
tls internal
|
||||
}
|
||||
```
|
||||
177
docs/vault/services-v1/transmission.md
Normal file
177
docs/vault/services-v1/transmission.md
Normal file
@@ -0,0 +1,177 @@
|
||||
# Transmission - Torrent Client
|
||||
|
||||
## Vue d'ensemble
|
||||
|
||||
Transmission est le client BitTorrent utilisé sur Talloires, configuré pour router **tout son trafic via ProtonVPN** afin de protéger la vie privée et masquer l'activité de téléchargement à l'ISP.
|
||||
|
||||
!!! success "Configuration VPN"
|
||||
Le trafic de Talloires (10.171.171.7) est automatiquement routé via ProtonVPN sur Theseus, garantissant que Transmission est invisible pour l'ISP.
|
||||
|
||||
## Informations de connexion
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|-----------|--------|
|
||||
| **URL locale** | http://talloires.local:9091 |
|
||||
| **URL Tailscale** | http://talloires.tailfd281f.ts.net:9091 |
|
||||
| **Container** | `transmission` |
|
||||
| **Réseau Docker** | `talloires_net` |
|
||||
| **IP Container** | 172.20.0.17 |
|
||||
|
||||
## Configuration
|
||||
|
||||
### Docker Compose
|
||||
|
||||
```yaml
|
||||
transmission:
|
||||
image: linuxserver/transmission:latest
|
||||
container_name: transmission
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 51413:51413
|
||||
- 51413:51413/udp
|
||||
expose:
|
||||
- 9091
|
||||
environment:
|
||||
- PUID=1026
|
||||
- PGID=100
|
||||
- TZ=Europe/Luxembourg
|
||||
volumes:
|
||||
- talloires_transmission_config:/config
|
||||
- /mnt/mediaserver/downloads:/downloads
|
||||
networks:
|
||||
- talloires_net
|
||||
```
|
||||
|
||||
### Vérification VPN
|
||||
|
||||
Le trafic de Transmission passe par ProtonVPN :
|
||||
|
||||
```bash
|
||||
# Vérifier l'IP publique de Transmission
|
||||
docker exec transmission sh -c "curl -s ipinfo.io"
|
||||
```
|
||||
|
||||
Résultat attendu :
|
||||
```json
|
||||
{
|
||||
"ip": "5.253.204.205",
|
||||
"city": "Brussels",
|
||||
"country": "BE",
|
||||
"org": "AS9009 M247 Europe SRL"
|
||||
}
|
||||
```
|
||||
|
||||
!!! warning "IP différente de l'ISP"
|
||||
L'IP normale de l'ISP est `87.240.228.220` (POST Luxembourg). Si Transmission montre cette IP, le VPN ne fonctionne pas correctement.
|
||||
|
||||
## Script de contrôle
|
||||
|
||||
Un script de gestion est disponible pour démarrer/stopper Transmission facilement.
|
||||
|
||||
### Emplacement
|
||||
|
||||
```bash
|
||||
/home/lionel/scripts/transmission-control.sh
|
||||
```
|
||||
|
||||
### Utilisation
|
||||
|
||||
```bash
|
||||
# Stopper Transmission
|
||||
~/scripts/transmission-control.sh stop
|
||||
|
||||
# Démarrer Transmission
|
||||
~/scripts/transmission-control.sh start
|
||||
|
||||
# Redémarrer Transmission
|
||||
~/scripts/transmission-control.sh restart
|
||||
|
||||
# Voir le statut et les statistiques
|
||||
~/scripts/transmission-control.sh status
|
||||
```
|
||||
|
||||
### Exemple de sortie
|
||||
|
||||
```bash
|
||||
$ ~/scripts/transmission-control.sh status
|
||||
=== Transmission Status ===
|
||||
1b69f36ee669 linuxserver/transmission:latest Up 3 days transmission
|
||||
|
||||
=== Network Stats ===
|
||||
CONTAINER ID NAME CPU % MEM USAGE / LIMIT NET I/O
|
||||
1b69f36ee669 transmission 0.05% 45MiB / 7.68GiB 16.8GB / 813MB
|
||||
```
|
||||
|
||||
## Monitoring
|
||||
|
||||
### Vérifier l'état du tunnel VPN
|
||||
|
||||
Sur Theseus :
|
||||
|
||||
```bash
|
||||
# Voir les statistiques du tunnel WireGuard
|
||||
ssh -l root theseus.local 'wg show wgclt1'
|
||||
```
|
||||
|
||||
### Logs Transmission
|
||||
|
||||
```bash
|
||||
# Logs en temps réel
|
||||
docker logs -f transmission
|
||||
|
||||
# Dernières 50 lignes
|
||||
docker logs transmission --tail 50
|
||||
```
|
||||
|
||||
## Dépannage
|
||||
|
||||
### Transmission ne télécharge pas
|
||||
|
||||
1. Vérifier que le VPN est actif :
|
||||
```bash
|
||||
ssh -l root theseus.local 'wg show wgclt1 | grep handshake'
|
||||
```
|
||||
|
||||
2. Vérifier l'IP de Transmission :
|
||||
```bash
|
||||
docker exec transmission sh -c "curl -s ipinfo.io | grep ip"
|
||||
```
|
||||
|
||||
3. Redémarrer Transmission :
|
||||
```bash
|
||||
~/scripts/transmission-control.sh restart
|
||||
```
|
||||
|
||||
### Vitesse lente
|
||||
|
||||
Le routage via VPN peut réduire la vitesse. Vérifier :
|
||||
|
||||
1. **Latence du tunnel** :
|
||||
```bash
|
||||
ssh -l root theseus.local 'ping -c 3 10.2.0.1' # Gateway VPN
|
||||
```
|
||||
|
||||
2. **Charge CPU de Talloires** :
|
||||
```bash
|
||||
docker stats transmission --no-stream
|
||||
```
|
||||
|
||||
## Sécurité
|
||||
|
||||
### Isolation réseau
|
||||
|
||||
Talloires est configuré comme **DMZ** :
|
||||
|
||||
- ✅ Accès sortant uniquement via ProtonVPN
|
||||
- ❌ Pas d'accès vers les autres devices du LAN (Annecy, Olympou)
|
||||
- ✅ ACL Tailscale bloque les connexions depuis Talloires
|
||||
|
||||
### Kill Switch
|
||||
|
||||
Si le VPN tombe, Talloires **perd l'accès Internet** (pas de fallback sur l'IP ISP), garantissant qu'aucun trafic torrent ne fuite.
|
||||
|
||||
## Ressources
|
||||
|
||||
- [Transmission Web UI](http://talloires.local:9091)
|
||||
- [LinuxServer Transmission Docs](https://docs.linuxserver.io/images/docker-transmission)
|
||||
- Configuration complète : `/home/lionel/docker/media/docker-compose.yml`
|
||||
Reference in New Issue
Block a user