roots is the lightweight agent that runs on your hardware, connecting your servers to the Sprout panel. Secure, fast, and built in Go.
roots?roots is a lightweight daemon that runs on your server hardware. It receives commands from the Sprout panel, manages game server processes, handles file operations, and streams logs back in real-time. Think of it as the bridge between your physical servers and the web interface.
Written in Go for simplicity and reliability. Designed to run 24/7 on your production hardware.
TLS 1.3 encryption for all panel communication. JWT authentication with automatic token rotation. No inbound ports required.
Automatically reconnects to the panel after network interruptions. Queues commands during downtime and syncs state on recovery.
Real-time CPU, memory, disk, and network metrics. Per-server resource usage with configurable limits and alerts.
Each game server runs in its own isolated environment. Configurable cgroups for resource limits. Automatic OOM handling.
Efficient chunked file transfers for uploads and downloads. Resume interrupted transfers. Archive extraction on the fly.
Create compressed backups locally. Automated cleanup of old backups. Optional S3-compatible offsite sync.
Get roots running on your node in under a minute
curl -fsSL https://get.sproutpanel.com/roots | bash
# Add repository
# Install
docker run -d \
--name roots \
--restart unless-stopped \
-v /var/lib/roots:/data \
sprout/roots:latest
roots is designed to be lightweight and run on almost any Linux system. Here's what you need:
x86_64 or ARM64. 1 core minimum for roots itself (game servers need more).
~50MB for roots daemon. Allocate the rest to your game servers.
Linux (kernel 4.15+). Ubuntu 20.04+ or Debian 11+.
Outbound HTTPS (443). No inbound ports required for panel connection.