Skip to Content

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.

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.exe and rabtlyd.exe to C:\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 rabtly

Then 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)

  1. Open Task Scheduler and click Create Task…
  2. On the General tab, check Run with highest privileges
  3. On the Triggers tab → New… → At startup
  4. On the Actions tab → New… → set Program to C:\Program Files\Rabtly\rabtlyd.exe
  5. 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

VariableDescription
RABTLY_CONTROL_URLControl plane URL (required)
RABTLY_NODE_NAMENode name shown in dashboard
RABTLY_STATE_DIRDirectory for WireGuard keys and state
RABTLY_NETWORK_IDTenant network ID (default: default)
RABTLY_ENROLL_TOKENEnrollment token (if required by server)
RABTLY_RELAY_ADDRRelay server address (optional)
RABTLY_ADVERTISE_ROUTESComma-separated subnets to expose (e.g. 192.168.1.0/24)

Tray icon reference

ActionDescription
Left-click iconOpen menu
ConnectStart the VPN (elevates rabtlyd if needed)
DisconnectStop the VPN
Settings…Opens %APPDATA%\Rabtly\config.json in Notepad
Open DashboardOpens 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.