-
-
Notifications
You must be signed in to change notification settings - Fork 2
Démarrage rapide
# dans votre docker-compose.yml Gluetun existant
ports:
- 8887:8888 # ou le port que vous avez configuré
environment:
HTTPPROXY: "on"
HTTPPROXY_LOG: "off"
# HTTPPROXY_USER: "" # optionnel — à reporter dans Paramètres de l'UI
# HTTPPROXY_PASSWORD: ""Le companion doit pouvoir écrire un docker-compose.override.yml dans le dossier qui contient votre docker-compose.yml Gluetun, puis relancer le service.
Unraid / DockerMan Si Gluetun est géré par le Docker Manager d'Unraid (
net.unraid.docker.managed=dockerman), Companion détecte ce backend automatiquement et n'utilise pasdocker composepour les bascules. Montez le dossier des templates Unraid en écriture, par exemple- /boot/config/plugins/dockerMan/templates-user:/boot/config/plugins/dockerMan/templates-user, afin que les changements soient persistés dans le template DockerMan avant recréation du container.CONTROL_BACKEND=unraidpermet de forcer ce mode si la détection automatique ne suffit pas.
services:
socket-proxy:
image: tecnativa/docker-socket-proxy
container_name: socket-proxy
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
CONTAINERS: 1
IMAGES: 1
NETWORKS: 1
VOLUMES: 1
POST: 1
DELETE: 1
networks:
- companion-net
gluetun-companion:
image: ghcr.io/aerya/gluetun-companion:latest
container_name: gluetun-companion
restart: always
ports:
- 8765:8765
volumes:
- /chemin/vers/data:/data
- /chemin/vers/stack/gluetun:/compose # ← adapter
- /chemin/vers/gluetun/openvpn:/openvpn
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
- TZ=Europe/Paris
- SECRET_KEY=remplacer-par-une-chaine-aleatoire # openssl rand -hex 32
- DATA_DIR=/data
- GLUETUN_HOST=host.docker.internal
- GLUETUN_PROXY_PORT=8887
- GLUETUN_CONTAINER=gluetun-airvpn # nom exact du container Gluetun (le service Compose est détecté automatiquement)
- COMPOSE_DIR=/compose
- OPENVPN_CONFIG_DIR=/openvpn
- OPENVPN_CONTAINER_DIR=/gluetun/openvpn
- DOCKER_HOST=tcp://socket-proxy:2375
# Optionnel : protéger /metrics par un Bearer token.
# Laisser vide (ou non défini) pour un accès libre — standard pour les scrapes Prometheus internes.
# - METRICS_TOKEN=votre-token-secret
networks:
- companion-net
depends_on:
- socket-proxy
networks:
companion-net:docker compose up -dPourquoi
socket-proxy? Le socket Docker donne un accès quasi-total à l'hôte. Le proxy Tecnativa s'intercale entre Companion et le socket, et restreint l'accès aux opérations nécessaires : lecture des containers/images/réseaux/volumes, et POST/DELETE requis pour créer et supprimer les containers sidecar temporaires. Il empêche notamment tout accès direct au daemon (exec, info, swarm…). Fonctionnement identique pour l'utilisateur, surface d'attaque réduite.
Ouvrir http://localhost:8765 — première connexion : entrez le compte à créer (enregistré automatiquement).
Unraid / DockerMan : un template XML temporaire est disponible dans
templates/unraidpour une installation manuelle ou via Private Apps, en attendant une éventuelle publication Community Applications.
Companion dans la même stack que Gluetun ? Supprimez
extra_hostset utilisez le nom de service :GLUETUN_HOST: gluetun. Lors d'une bascule, le companion cible uniquement le service Gluetun (docker compose up -d <service>) — il ne se recrée pas lui-même.
Serveurs → Importer depuis Gluetun : le companion lit les variables SERVER_NAMES, SERVER_COUNTRIES, etc. directement depuis le container en cours et importe chaque valeur avec son type de filtre. Le catalogue Gluetun peut aussi importer les serveurs par pays, ville, région, hostname ou nom, avec filtre de type serveur quand le fournisseur l'expose (par exemple P2P, Streaming, Secure Core, Tor ou Free chez ProtonVPN). Ajout manuel possible depuis le même écran.
Une entrée est une cible Gluetun.
SERVER_NAMES=CH#12cible ce serveur précis.SERVER_COUNTRIES=Switzerlandcible le pays : Companion demande « Suisse », puis Gluetun choisit lui-même un endpoint compatible dans ce pays, comme en fonctionnement autonome. Pour comparer les serveurs Proton individuellement, ouvrez le Catalogue Gluetun et importez leurs noms. Davantage de candidats peut améliorer la sélection, mais allonge les benchmarks.
Repository · Issues · Releases
Français
- Compatibilité
- Démarrage rapide
-
Fonctionnalités
- Mesure de performances
- Résolveurs DNS observés
- Sélection & bascule automatique
- Pools de rotation
- Multi-provider (WireGuard & OpenVPN)
- Catalogue de serveurs Gluetun
- Gestion des containers Docker
- Contrôle trackers BitTorrent
- AirVPN
- Analyse & historique
- Interface & notifications
- Intégration & infrastructure
- Variables d'environnement
-
Fonctionnement
- Mode Sidecar (défaut)
- Mode Proxy HTTP (optionnel)
- Containers à redémarrer après bascule
- Containers à stopper pendant le benchmark
- Contrôle des trackers BitTorrent via le VPN
- Clients BitTorrent et découverte des trackers
- Inventaire des ports forwardés VPN
- Bandeau « Test en cours » et bouton Arrêter
- Sélecteur de serveurs AirVPN
- Vérification rapide avant benchmark (option)
- Optimisation horaire (option)
- Sélection intelligente du benchmark (recommandée pour les gros catalogues)
- Serveurs autorisés avant benchmark (option)
- Éviter les serveurs AirVPN chargés (option, dédié AirVPN)
- Écoute Docker events
- Score de confiance par serveur
- Profils d'usage
- Profils VPN (WireGuard & OpenVPN)
- Pools de rotation
- Score de sélection — composantes de stabilité
- Vue patterns horaires (/history/patterns)
- Détection de nouveaux serveurs AirVPN
- Notifications contextuelles
- Jitter & Packet Loss
- Endpoint Prometheus /metrics
- REST API
- Cycle automatique vs déclenchement manuel
- Dashboard Grafana
- Workflows automatisés
- Notes
- Sécurité
- Crédits
- Licence
English
- Compatibility
- Quick start
- Features
- Environment variables
-
How it works
- Sidecar mode (default)
- HTTP proxy mode (optional)
- Containers to restart after switch
- Containers to pause during benchmark
- BitTorrent tracker checks through the VPN
- BitTorrent clients and tracker discovery
- VPN forwarded port inventory
- "Test running" banner and Stop button
- AirVPN server picker
- Quick check before benchmark (option)
- Time optimization (option)
- Smart benchmark selection (recommended for large catalogues)
- Allowed servers before benchmark (option)
- Avoid loaded AirVPN servers (option, dedicated to AirVPN)
- Docker events listener
- Per-server confidence score
- Usage profiles
- VPN profiles (WireGuard & OpenVPN)
- Rotation pools
- Selection score — stability components
- Hourly patterns view (/history/patterns)
- New AirVPN server detection
- Contextual notifications
- Jitter & Packet Loss
- Prometheus /metrics Endpoint
- REST API
- Automatic cycle vs manual trigger
- Grafana dashboard
- Automated workflows
- Notes
- Security
- Credits
- License