Install on Windows
The easiest way to connect a Windows PC to your Rabtly network is the Rabtly system tray app — it installs with a standard installer and puts a small icon in your taskbar.
Option A — Installer (recommended)
Download the installer
Download rabtly-setup-<version>-amd64.exe from the releases page .
Run the installer
Double-click the installer and follow the prompts. It will:
- Install
rabtly-tray.exeandrabtlyd.exetoC:\Program Files\Rabtly\ - Create a Start Menu shortcut
- Create a default config file at
%APPDATA%\Rabtly\config.json
The installer requires administrator privileges. Windows will show a UAC prompt — this is expected.
Launch the app
Find Rabtly in the Start Menu and open it. A gray circle appears in the system tray (bottom-right taskbar area).
Configure your server
Right-click the tray icon → Settings… — this opens %APPDATA%\Rabtly\config.json in Notepad.
Edit it to point to your server:
{
"control_url": "https://your-server:8080",
"node_name": "my-windows-pc",
"network_id": "default",
"enroll_token": ""
}Save the file, then click the tray icon → Connect.
Verify it’s connected
The tray icon turns blue and shows ● Connected. Open the dashboard → Nodes to confirm your PC is online.
Option B — Scoop (power users)
If you use the Scoop package manager:
scoop bucket add rabtly https://github.com/rabtly/scoop-rabtly
scoop install rabtlyThen launch from the Start Menu or run rabtly-tray in a terminal.
Option C — Daemon only (headless / advanced)
Use this if you want the daemon to run as a background service without any GUI, for example as part of an automated deployment.
Download the daemon
Download rabtlyd.exe from the releases page , or extract it from the installer directory after running it (C:\Program Files\Rabtly\rabtlyd.exe).
Run in PowerShell (as Administrator)
$env:RABTLY_CONTROL_URL = "https://your-server:8080"
$env:RABTLY_NODE_NAME = "my-windows-pc"
$env:RABTLY_STATE_DIR = "$env:APPDATA\Rabtly\state"
& "C:\Program Files\Rabtly\rabtlyd.exe"Run at startup (Task Scheduler)
- Open Task Scheduler and click Create Task…
- On the General tab, check Run with highest privileges
- On the Triggers tab → New… → At startup
- On the Actions tab → New… → set Program to
C:\Program Files\Rabtly\rabtlyd.exe - On the Actions tab, add environment variables in the Add arguments field:
(leave blank — set env vars via a wrapper .cmd file instead)
Alternatively, create a wrapper batch file:
@echo off
set RABTLY_CONTROL_URL=https://your-server:8080
set RABTLY_NODE_NAME=my-windows-pc
set RABTLY_STATE_DIR=%APPDATA%\Rabtly\state
"C:\Program Files\Rabtly\rabtlyd.exe"Daemon environment variables
| Variable | Description |
|---|---|
RABTLY_CONTROL_URL | Control plane URL (required) |
RABTLY_NODE_NAME | Node name shown in dashboard |
RABTLY_STATE_DIR | Directory for WireGuard keys and state |
RABTLY_NETWORK_ID | Tenant network ID (default: default) |
RABTLY_ENROLL_TOKEN | Enrollment token (if required by server) |
RABTLY_RELAY_ADDR | Relay server address (optional) |
RABTLY_ADVERTISE_ROUTES | Comma-separated subnets to expose (e.g. 192.168.1.0/24) |
Tray icon reference
| Action | Description |
|---|---|
| Left-click icon | Open menu |
| Connect | Start the VPN (elevates rabtlyd if needed) |
| Disconnect | Stop the VPN |
| Settings… | Opens %APPDATA%\Rabtly\config.json in Notepad |
| Open Dashboard | Opens the web dashboard in your browser |
Troubleshooting
“Failed to start daemon”
Check %USERPROFILE%\.rabtly\tray.log for the daemon error output.
Tray icon not appearing
Make sure you’re running rabtly-tray.exe as Administrator. The NSIS installer shortcut does this automatically via the “Run as Administrator” flag.
WireGuard interface not created
rabtlyd.exe runs in dry-run mode if it cannot create the WireGuard interface (this is normal for testing without network connectivity to the control plane). The rabtly0 interface is only created after successful registration.
Antivirus blocks the binary
Some antivirus tools flag freshly compiled Go binaries. Add an exclusion for C:\Program Files\Rabtly\ or download a signed release from the releases page.