Skip to content

TUI Dashboard

Monitor hosts, VPN connections, and configuration with the interactive terminal dashboard.

Nefia includes a built-in terminal UI (TUI) dashboard for browsing hosts, VPN tunnels, and configuration from your terminal. Built with the Bubble Tea framework, it provides an at-a-glance operational view without leaving the CLI.

Launching the Dashboard

Start the dashboard by running nefia with no subcommand:

bash
nefia

You can also use the explicit command:

bash
nefia dashboard

Dashboard Layout

The dashboard is organized into three tabs: Hosts, VPN, and Config. The header shows the current version plus a live summary in the form <host count> hosts | <active VPN count> connected | VPN Active|VPN Off.

Here is a simplified view of what you will see:

plaintext
 ┌─────────────────────────────────────────────────────────────────────────┐
 │  Nefia  v1.0.0                       4 hosts | 2 connected | VPN Active │
 ├──────────────┬──────────┬────────┐                                      │
 │  Hosts (4)   │  VPN (3) │ Config │                                      │
 ├───────────┴──────────┴──────────┴───────────────────────────────────────┤
 │                                                                        │
 │  Status     ID              Address        OS       User    Tags          VPN         │
 │  ────────   ──────────────  ─────────────  ───────  ──────  ────────────  ─────────── │
 │▸ ● active   my-server       10.99.0.2     linux    deploy  env=prod      Active      │
 │  ● active   dev-box         10.99.0.3     macos    admin   env=dev       Active      │
 │  ◐ pending  build-node      10.99.0.4     linux    ci      role=ci       Pending     │
 │  ○ offline  win-desktop     10.99.0.5     windows  ops     env=staging   Configured  │
 │                                                                        │
 │                                                                        │
 ├────────────────────────────────────────────────────────────────────────┤
 │  tab/h/l: switch | j/k: navigate | R: refresh | ?: help | /: filter   │
 └────────────────────────────────────────────────────────────────────────┘

Tabs

Hosts

The default tab. Displays all registered hosts in a table:

ColumnDescription
StatusConnection status indicator: active, pending, or offline
IDHostname assigned during enrollment
AddressVPN IP address (10.99.0.x) when available, otherwise the host's configured address
OSOperating system: linux, macos, or windows
UserSSH user for the connection
TagsSorted key=value pairs from host tags
VPNVPN configuration status: Active, Pending, Configured, or - (no VPN)

VPN

Displays the current VPN configuration and a peer table derived from hosts that have VPN settings:

VPN tab

VPN Overview Status: Enabled Operator Address: 10.99.0.1/24 Listen Port: 51820 STUN Servers: stun.l.google.com:19302, stun.cloudflare.com:3478 MagicDNS: active (.nefia, 4 records)

Peers Host ID VPN Address Endpoint Status Public Key ─────── ─────────── ──────── ────── ────────── my-server 10.99.0.2 203.0.113.10:51820 active AbCd1234... dev-box 10.99.0.3 198.51.100.5:51820 active EfGh5678... build-node 10.99.0.4 192.0.2.40:51820 pending XyZk9012...

If VPN is disabled, the tab shows an informational card instead of the peer table.

Config

A scrollable view of your current nefia.yaml settings, organized into cards:

  • General -- Version, Concurrency, Timeout, Output format, Max output, Shell map
  • SSH -- SSH agent usage, known_hosts path, identity files
  • VPN -- Enabled flag, listen port, operator address, STUN servers
  • Policy -- Mode, allowed roots, allow commands, deny commands, deny paths
  • Audit -- Enabled flag and audit directory
  • Auth -- API base URL and Web base URL

Keyboard Shortcuts

KeyAction
Tab / lNext tab
Shift+Tab / hPrevious tab
1 / 2 / 3Jump directly to Hosts / VPN / Config
j / DownMove selection down
k / UpMove selection up
/Start filter mode (applies to both Hosts and VPN tabs)
EnterApply the current filter
EscClear active filter or close help overlay
RRefresh data from disk
?Toggle help overlay
q / Ctrl+CQuit the dashboard

When a host row is selected, additional shortcuts are available from the Hosts and VPN tabs:

KeyAction
EnterOpen the selected host's details drawer
dRun doctor for the selected host
rGenerate a reinvite flow for the selected host
tRun a VPN/SSH connectivity test for the selected host
aApprove the selected pending host

When to Use TUI vs CLI

The TUI dashboard is best for:

  • Monitoring -- watching VPN status and host health in real time
  • Orientation -- getting a quick overview when you sit down at your operator PC
  • Debugging -- checking which hosts are offline or have stale handshakes
  • Demos -- showing infrastructure status to colleagues
CLI Commands

Full reference for all Nefia CLI commands and flags.

VPN Setup Guide

Configure NAT traversal, diagnostics, and key rotation.