Skip to content

Vadims06/topolograph-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

topolograph-docker

Quickstart

Install Docker Desktop for Windows/Mac To get Topolograph Docker up and running run the following commands.

git clone https://github.com/Vadims06/topolograph-docker.git
cd topolograph-docker
docker-compose pull
docker-compose up -d

or run install.sh script to start Topolograph and Watchers

sudo ./install.sh

or

curl -O https://raw.githubusercontent.com/Vadims06/topolograph-docker/master/install.sh
chmod +x install.sh
sudo ./install.sh

The Topolograph site will be available after a few minutes. Open the URL http://localhost:8080/ in a web-browser.

MCP Server Integration

This Docker setup includes an MCP (Model Context Protocol) server that enables AI agents and Large Language Models to interact with the Topolograph API for network analysis. The MCP server is available at http://localhost:8000/mcp and provides tools for:

  • Network topology analysis
  • OSPF/IS-IS event monitoring
  • Path calculation and backup path analysis
  • Graph status and connectivity monitoring
  • Node and edge queries

The MCP server automatically connects to the Flask API and supports authentication via API tokens.

Variables

The application's variables are grouped in .env file

  • TOPOLOGRAPH_PORT - the application port
TOPOLOGRAPH_PORT=8080 <-- whatever you want, and then open the URL http://localhost:8080/ after re-runing docker-compose up -d
  • DNS - accepts IP address of DNS server in order to resolve OSPF RID and show device names on a graph
  • TOPOLOGRAPH_WEB_API_USERNAME_EMAIL, TOPOLOGRAPH_WEB_API_PASSWORD - credentials for API requests
  • TOPOLOGRAPH_WEB_API_AUTHORISED_NETWORKS - whitelistening IP sources of API requests
  • MCP_PORT - MCP server port (default: 8000)

Default credentials

In order to create the user with password from .env file and add your networks in allow list (authorised networks) from TOPOLOGRAPH_WEB_API_AUTHORISED_NETWORKS variable - run this request

#python3
import requests
res = requests.post('http://localhost:8080/create-default-credentials')
res.json()
{'errors': '', 'status': 'ok'}

To test that it works - Open http://localhost:8080/ in a web-browser, go to Login/Local login, use TOPOLOGRAPH_WEB_API_USERNAME_EMAIL and TOPOLOGRAPH_WEB_API_PASSWORD to login. API/Authorised source IP ranges Tab should list your IP ranges.

Integration with other systems

NetBox

Hostname mapping can be updated from NetBox via the Topolograph SDK or direct API calls. For example, you can query NetBox for device hostnames and push them to Topolograph using the SDK's node-update methods, keeping topology labels in sync with your source of truth.

About

You can find more info about Topolograph here: https://github.com/Vadims06/topolograph

About

This is dockerized version of topolograph

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors