← Back to Docs

Self-Hosted Network Management

Why Self-Hosting Matters for Network Management

Network management platforms occupy a uniquely sensitive position in your infrastructure. They store device credentials — the SSH passwords and API keys that provide direct access to every router in your fleet. They store configuration data — the complete running state of every managed device. They store monitoring history — traffic patterns, bandwidth utilization, and device health data that reveals your network's architecture and capacity.

When you use a cloud-hosted network management service, all of this data lives on someone else's infrastructure. Your router passwords are stored in someone else's database. Your config history is backed up to someone else's object store. Your monitoring data flows through someone else's ingestion pipeline.

For many organizations, this is a non-starter. MSPs with contractual obligations around client data handling can't send device credentials to a third party. ISPs in regulated markets may have compliance requirements around where network infrastructure data is stored. Government and defense contractors operate under frameworks that prohibit cloud-hosted management of network devices. Even without formal compliance requirements, sending your complete device credential set to a SaaS platform is a risk that many network engineers are uncomfortable with.

Self-hosted network management eliminates this class of risk entirely. Your data stays on your hardware, behind your firewall, under your control.

Deployment Options

Docker Compose

The primary deployment method is Docker Compose. A single docker-compose.yml file brings up the entire stack: the React frontend, the FastAPI backend, the Go poller, PostgreSQL with TimescaleDB, Redis, NATS JetStream, and OpenBao for credential encryption.

Prerequisites are minimal: a Linux host (or macOS for development) with Docker and Docker Compose installed. The included setup wizard (setup.py) walks through initial configuration — database credentials, admin user creation, and basic platform settings. From clone to running platform with your first connected device takes about ten minutes.

Docker Compose is the right choice for most deployments. Single-server installations handling up to several hundred devices run comfortably on modest hardware. The compose file handles container orchestration, networking between services, and volume management for persistent data.

Kubernetes via Helm Chart

For organizations that run Kubernetes, the project includes a Helm chart. This provides the same stack deployed as Kubernetes resources: Deployments, Services, ConfigMaps, Secrets, and PersistentVolumeClaims.

The Helm chart is useful for teams that want to integrate the platform into existing Kubernetes infrastructure, take advantage of Kubernetes features like auto-restart and resource limits, or deploy across multiple nodes for availability. It's not required — Docker Compose is simpler and sufficient for most use cases.

What Runs on Your Infrastructure

Everything. There is no external service dependency for core functionality. Here's what the stack includes:

No Cloud Dependency

The platform makes no outbound network connections for its core functionality. There is no license server to validate against. There is no cloud API that needs to be reachable. There is no telemetry that phones home by default.

The single optional external connection is a check for new MikroTik firmware versions, which queries MikroTik's public version endpoint. This is disabled by default and only used to show firmware update availability in the fleet view. Disabling it has no impact on functionality.

Optional anonymous telemetry is available for development diagnostics — it's disabled by default, opt-in only, and the exact data it would collect is documented in the source code so you can inspect it before enabling. No usage tracking, no analytics, no data collection that you haven't explicitly opted into.

Air-Gapped Deployment

Because there are no external dependencies, the platform can run in air-gapped environments with no internet access. Pull the Docker images on a connected machine, transfer them to the isolated network, and deploy. The platform functions identically whether it has internet access or not.

This is relevant for government networks, classified environments, industrial control system networks, and other contexts where internet connectivity is either unavailable or prohibited for management infrastructure.

Comparison with Cloud-Hosted Alternatives

Cloud-hosted network management platforms solve real problems and many are well-engineered. The tradeoff is the trust model:

Self-hosted management trades operational convenience (someone else runs the infrastructure) for control (you run the infrastructure, you own the data, you control access). For network management specifically — where the platform holds the keys to your entire routing infrastructure — that tradeoff often favors self-hosting.

Open Source

The platform is open source and available on GitHub. You can audit the code that touches your device credentials. You can verify the encryption implementation. You can read exactly what API calls the poller makes to your routers. Self-hosted plus open source means you have both operational control and code-level transparency.

Getting Started

The Quick Start guide covers the full deployment process. Clone the repository, run the setup wizard, connect your first device. The platform is running on your infrastructure in about ten minutes.