Quick Start with Docker¶
The fastest way to run Topolograph is the self-hosted Docker image. It bundles the web app, its database, and (optionally) the MCP server and Watchers.
Prerequisites
Install Docker and Docker Compose. On Windows/macOS, Docker Desktop includes both.
1. Clone and start¶
git clone https://github.com/Vadims06/topolograph-docker.git
cd topolograph-docker
docker-compose pull
docker-compose up -d
Prefer a one-shot installer that can also bring up the Watchers? Use the
install.sh script instead:
…or run it straight from GitHub:
curl -O https://raw.githubusercontent.com/Vadims06/topolograph-docker/master/install.sh
chmod +x install.sh
sudo ./install.sh
Give it a minute or two to come up, then open:
2. Configure with .env¶
Configuration lives in a .env file next to docker-compose.yml. The most
useful variables:
| Variable | Purpose |
|---|---|
TOPOLOGRAPH_PORT |
Web UI port (default 8080). Open http://localhost:<port>/ after restarting. |
NAPALM_USERNAME, NAPALM_PASSWORD |
Credentials Topolograph uses to log in to a device and pull its OSPF LSDB via NAPALM. |
DNS |
IP of a DNS server, used to resolve router IDs into device names on the graph. |
TOPOLOGRAPH_WEB_API_USERNAME_EMAIL, TOPOLOGRAPH_WEB_API_PASSWORD |
Credentials for REST API requests. |
TOPOLOGRAPH_WEB_API_AUTHORISED_NETWORKS |
Allow-list of source IP ranges permitted to call the API. |
MCP_PORT |
Port for the bundled MCP server (default 8000). |
After changing a port or other value, re-apply it:
3. Create the default credentials¶
To create the API user from your .env values and load your allowed networks
into the allow-list, send this request once:
import requests
res = requests.post('http://localhost:8080/create-default-credentials')
print(res.json())
# {'errors': '', 'status': 'ok'}
Verify it worked:
- Open
http://localhost:8080/in a browser. - Go to Login → Local login and sign in with
TOPOLOGRAPH_WEB_API_USERNAME_EMAIL/TOPOLOGRAPH_WEB_API_PASSWORD. - The API → Authorised source IP ranges tab should list the ranges from
TOPOLOGRAPH_WEB_API_AUTHORISED_NETWORKS.
What's included¶
The docker-compose.yml in topolograph-docker can run more than just the web
app:
- Topolograph web application + database.
- MCP server at
http://localhost:8000/mcpfor LLM/agent access. - Optional OSPF/IS-IS Watchers and an ELK stack for real-time monitoring.
Hosted option
Don't want to self-host? A hosted instance is available at topolograph.com. The Docker version is ideal when your LSDBs shouldn't leave your environment.