Getting Started

Nebula Commander is a self-hosted control plane for Nebula overlay networks. You run the server yourself and manage networks, nodes, certificates, and access from a web UI and optional device client.

Features

  • Networks and nodes – Create networks, manage nodes, IP allocation, and certificates
  • Web UI – React dashboard with OIDC (for example, Keycloak) or a dev token for local development
  • Device client (ncclient) – Enroll devices with a one-time code, then run as a daemon to pull config and certificates and optionally run or restart Nebula when config changes. Install with pip install nebula-commander; see ncclient for details.

Status

v0.6.1. The core control plane (networks, nodes, certificates, firewall groups, Magic DNS, audit logging, invitations, user management) and the web UI are mature and in production use. The device client (ncclient) ships as a CLI, native desktop apps for Windows and Linux, a Docker image, and a NixOS module, with mobile support (iOS/Android via the official Mobile Nebula app). See About: Status for the full picture, including what’s still planned.

Prerequisites

  • Nebula – You need Nebula installed on devices that will join your networks. Nebula Commander issues certificates and config; the Nebula binary runs on each node.
  • Server – A machine or container to run the backend (and optionally the frontend). Python 3.10+ for development; Docker or NixOS for deployment.

Next steps

  1. Choose an installation method (Docker or NixOS), or development setup for local hacking.
  2. Configure the backend (database, JWT, and optionally OIDC and SMTP).
  3. Use the Web UI and ncclient as needed.

License

Backend and frontend: MIT. Client (ncclient): GPLv3 or later. See the repository for details.

Last modified September 23, 2026: Bump status version to v0.6.1 (7daa5e0)