Add Your First Server
Tundra manages servers through the tundra-agent — a lightweight binary that runs on each server and communicates with the control plane over mTLS gRPC.
Single-host mode (same server)
Section titled “Single-host mode (same server)”If you installed Tundra on the server you want to manage, the local server is automatically enrolled during install. You’ll see it in Servers with status Active.
Adding a remote server
Section titled “Adding a remote server”-
Open the Add Server wizard
In the panel, go to Servers → Add Server.
-
Enter the server details
- Hostname or IP address
- SSH port (default: 22)
- SSH username (must have sudo)
- SSH key or password
-
Confirm the SSH fingerprint
Tundra connects over SSH and shows the server’s host key fingerprint. Verify it matches your server before proceeding.
-
Install the agent
Tundra runs the agent install script over SSH. The agent is installed as a systemd service and immediately enrolls with the control plane using a short-lived setup token.
-
Verify enrollment
The server status changes from
Enrolling→Activeonce the agent connects. CPU, RAM, and disk metrics appear within 30 seconds.
Manual enrollment
Section titled “Manual enrollment”If SSH access isn’t available, you can enroll manually:
# On the control plane — generate an enrollment tokentundra server token create --server-id <id>
# On the managed server — run the agent installercurl -fsSL https://raw.githubusercontent.com/mralaminahamed/tundra/main/installer/agent-install.sh | sudo bash -s -- \ --control-plane https://your-panel.example.com:7447 \ --token tnd_setup_<token>What the agent manages
Section titled “What the agent manages”Once enrolled, the agent handles:
| Capability | Details |
|---|---|
| Site provisioning | Creates directories, configures Caddy vhosts, PHP-FPM pools |
| Deployments | Blue/green with atomic symlink swap |
| Certificates | ACME via Let’s Encrypt / ZeroSSL |
| Metrics | CPU, RAM, disk, network — scraped every 30s |
| Logs | Forwards site logs to tundrad over gRPC stream |
Server detail page
Section titled “Server detail page”Click a server to see:
- Overview — uptime, resource usage, OS, agent version
- Sites — sites hosted on this server
- Databases — database servers and instances
- Firewall — inbound/outbound rules
- Updates — pending system package updates
- Processes — running processes (top 20 by CPU)
- SSH — web-based terminal via xterm.js