Skip to main content

open-source wireguard control plane

Centralized control for your WireGuard fleet

A web Console plus a per-server Node service that replace hand-edited wg0.conf files with API-driven peer management. Manage nodes, generate client configs, and verify handshakes from one place.

  • AGPL-3.0
  • Self-hosted
  • Docker-ready

What you can manage

nodes

Node health and capacity

Track status, version, peer capacity, and health for every node from one Console view.

peers

Peer management

Create peers, inspect connection state, and verify handshakes after clients connect.

configs

Config generation

Generate wg-quick client configs once a peer is assigned to the right node.

metrics

Metrics and monitoring

Optional Prometheus endpoint per node, with a ready-made Grafana dashboard.

Two services, one source of truth

The Console is the control plane you log into: it holds the inventory of nodes and peers. A Node runs on each WireGuard server, owns the local interface, and exposes a REST API the Console calls. One Console manages many Nodes.

Read the architecture overview

Follow the deployment path

Three steps to a working setup. Each one links to the detailed guide.

  1. 01

    Install the Console

    Spin up the central control plane with Docker Compose.

    Read the guide
  2. 02

    Connect a Node

    Run the Node service and link it from the Console with its API endpoint and key.

    Read the guide
  3. 03

    Create peers

    Allocate IPs, generate WireGuard client configs, and monitor handshakes.

    Read the guide