Déploiement et configuration¶
Cette page rassemble les réglages de déploiement d'un Topolograph auto-hébergé. Pour une première exécution pas à pas, voir le Démarrage rapide avec Docker.
Installation¶
git clone https://github.com/Vadims06/topolograph-docker.git
cd topolograph-docker
docker-compose pull
docker-compose up -d
# ou : sudo ./install.sh (peut aussi démarrer les Watchers)
Ouvrez http://localhost:8080/.
Variables d'environnement¶
La configuration se trouve dans .env, à côté de docker-compose.yml.
| Variable | Rôle |
|---|---|
TOPOLOGRAPH_PORT |
Port de l'interface web (par défaut 8080). |
MCP_PORT |
Port du serveur MCP (par défaut 8000). |
DNS |
IP du serveur DNS utilisé pour résoudre les router ID en noms d'équipements. |
TOPOLOGRAPH_WEB_API_USERNAME_EMAIL, TOPOLOGRAPH_WEB_API_PASSWORD |
Identifiants de l'API REST. |
TOPOLOGRAPH_WEB_API_AUTHORISED_NETWORKS |
Liste blanche des plages d'IP source autorisées pour les appels API. |
TOPOLOGRAPH_API_TOKEN |
Jeton pour authentifier les requêtes de l'API REST à la place d'un couple identifiant/mot de passe. |
Après toute modification, réappliquez avec docker-compose up -d.
Variables côté Watcher¶
Lorsque vous exécutez aussi un Watcher, son
.env ajoute quelques variables :
| Variable | Rôle |
|---|---|
TOPOLOGRAPH_HOST |
IP de l'hôte exécutant Topolograph. N'utilisez pas localhost — le Watcher, ELK et Topolograph tournent chacun dans leur propre espace réseau. |
TOPOLOGRAPH_PORT |
Port de Topolograph (par défaut 8080). |
TOPOLOGRAPH_WEB_API_USERNAME_EMAIL / _PASSWORD |
Utilisateur API sous lequel le Watcher publie (ex. ospf@topolograph.com). |
TEST_MODE |
Si True, rejoue des événements de démonstration depuis un fichier statique au lieu de lire l'IGP en direct. |
WATCHER_IP |
Remplace l'IP source rapportée par le Watcher (srcid) quand la résolution de nom d'hôte n'est pas fiable dans des conteneurs. |
EXPORT_TO_ELASTICSEARCH_BOOL, ELASTIC_IP |
Active et cible une pile ELK. |
EXPORT_TO_WEBHOOK_URL_BOOL, WEBHOOK_URL |
Active les notifications WebHook/Slack. |
Créer les identifiants par défaut¶
Exécutez une fois pour créer l'utilisateur API à partir de votre .env et
charger les réseaux autorisés :
import requests
print(requests.post('http://localhost:8080/create-default-credentials').json())
# {'errors': '', 'status': 'ok'}
Vérification : connectez-vous sur http://localhost:8080/ via Login →
Local login, puis vérifiez API → Authorised source IP ranges.
Ce que contient la stack¶
Le compose topolograph-docker peut exécuter, dans n'importe quelle
combinaison :
- Topolograph — application web + base de données
- Serveur MCP (
/mcpsurMCP_PORT) - Watchers OSPF / IS-IS
- Pile ELK pour la recherche d'événements
Alternative hébergée¶
Une instance hébergée est disponible sur topolograph.com. Choisissez l'auto-hébergement lorsque vos données LSDB doivent rester dans votre environnement.
Voir aussi : Démarrage rapide · Surveillance en temps réel