Skip to Content
InstallationControl Plane (Server)

Install the Control Plane

The control plane is the central server that manages your Rabtly network. You only need one — it runs on any Linux server.

A cheap $5/month VPS (1 vCPU, 512 MB RAM) is more than enough for dozens of nodes.

Option A: Docker (easiest)

Create a Docker Compose file

# docker-compose.yml services: rabtly: image: ghcr.io/rabtly/rabtly:latest ports: - "8080:8080" # API - "3000:3000" # Dashboard environment: RABTLY_ADMIN_EMAIL: you@example.com RABTLY_ADMIN_PASS: change-me-please RABTLY_JWT_SECRET: a-long-random-string volumes: - rabtly-data:/var/lib/rabtly volumes: rabtly-data:

Start it

docker compose up -d

Open the dashboard

Go to http://your-server:3000 and sign in with the email and password you set above.

Option B: Binary

Download the server binary

curl -Lo rabtly-server https://github.com/rabtly/rabtly/releases/latest/download/rabtly-server-linux-amd64 chmod +x rabtly-server sudo mv rabtly-server /usr/local/bin/

Start the control plane

RABTLY_ADMIN_EMAIL=you@example.com \ RABTLY_ADMIN_PASS=change-me-please \ RABTLY_JWT_SECRET=a-long-random-string \ rabtly-server

By default, Rabtly stores data in a local JSON file. For teams, using PostgreSQL is more reliable.

DATABASE_URL=postgres://user:pass@localhost/rabtly \ RABTLY_ADMIN_EMAIL=you@example.com \ RABTLY_ADMIN_PASS=change-me-please \ rabtly-server

Rabtly runs its own database migrations automatically on startup.

Open your firewall

Make sure these ports are accessible from your devices:

PortProtocolPurpose
8080TCPAPI (nodes connect here)
3000TCPDashboard (browser access)

For production, put a reverse proxy (nginx, Caddy) in front to add HTTPS. Caddy does this automatically with a single line config.