DEV Community

Erik anderson
Erik anderson

Posted on

I Built a Full Network Automation Lab in Docker — NSO, Grafana, and AI Config Deployment

Network engineers talk about automation all the time, but nobody actually shows you what a real automation stack looks like end to end.

So I built one. On a single home server. In Docker.

Full video walkthrough: Watch on YouTube


The Stack

Everything runs in Docker Compose — 9 containers on one server:

  • Cisco NSO (Network Services Orchestrator) — the same tool Fortune 500 companies use
  • 8 simulated devices across 3 vendors: Cisco IOS, IOS-XR, Juniper JunOS
  • Grafana + Prometheus — real-time dashboards with 30-second scrape intervals
  • Taiga — open source ticketing (think Jira) for change management
  • Claude AI + MCP Server — deploying network configs in plain English

What It Actually Does

Multi-Vendor Management

NSO abstracts all the vendor differences away. Different vendors, different config formats, same API. One source of truth for every device config in the network.

VLAN Deployment in Seconds

Deploying VLAN 200 across 4 switches manually? That's 4 SSH sessions, 4 config changes, 4 chances to make a typo. With NSO: one API call, all 4 switches configured, verified, and in sync. Done in seconds.

Compliance Audits

Security wants you to audit all 8 devices? Manually that's 8 SSH sessions. With NSO: one API call per device type. 8 devices, 3 vendors, all checked in under 10 seconds.

Instant Rollback

Push a bad change? With traditional networking you're SSH-ing into each device trying to remember what you changed. With NSO, every commit is tracked. One API call rolls back both routers simultaneously. That's not just automation — that's insurance.

AI-Powered Config Deployment

This is where it gets wild. I connected Claude (by Anthropic) directly to NSO via a custom MCP server. I can type in plain English:

"Add VLAN 300 called engineering to access switch 0 with a dry run first"

The AI understands the intent, maps it to the right API call, handles the vendor-specific config format, and executes. With a dry run first so you can verify before committing.

For senior engineers, this saves time. For juniors, this is a force multiplier. For understaffed network teams (which is all of them) — this changes the game.

Monitoring with Grafana

A custom Prometheus exporter scrapes NSO every 30 seconds and exposes:

  • NSO status and uptime
  • Managed device count
  • Sync status per device
  • Active alarm count
  • Commit queue size

Grafana turns all of this into dashboards you can actually use.

How to Build This Yourself

The NSO eval license is free from Cisco DevNet. Taiga, Grafana, Prometheus — all open source. The only cost is your time to set it up.

I've put together step-by-step documentation: primenetwork.me/docs

What's Next

I'm building more on this lab:

  • Service packages
  • CI/CD pipelines
  • Full OSPF deployment
  • More AI integration

If you're a network engineer and you're not learning automation, you're falling behind. And if you think automation is just writing Python scripts to SSH into boxes, you haven't seen what's possible yet.

Watch the full walkthrough: https://youtu.be/q9g86WfIC7c


I'm Erik, also known as Prime. I build automation systems and share what I learn. Follow along if you want to see where this goes.

Top comments (0)