Connecting a Server

ServerPlane manages servers by connecting to them over SSH and automatically provisioning them with everything needed to host your applications. You bring the server; ServerPlane handles the rest.

Requirements

Before connecting a server, make sure it meets these requirements:

  • Operating System — Ubuntu 24.04 LTS (other Debian-based or RHEL-family distros may work but are not officially supported)
  • Root access — You need either the root password or an SSH private key with root login enabled
  • Open ports — Ports 22 (SSH), 80 (HTTP), and 443 (HTTPS) must be reachable from the internet
  • Fresh server recommended — While not strictly required, a clean server avoids conflicts with existing software

Any VPS provider works (DigitalOcean, Hetzner, Vultr, Linode, AWS EC2, etc.) as long as the requirements above are met.

Adding a Server

  1. Navigate to Servers in the sidebar and click Add Server.
  2. Fill in the server details:
    • Server Name — A friendly label for the dashboard (e.g., "Production Web Server").
    • IP Address — The public IPv4 address of your server.
    • SSH Port — Defaults to 22. Change this only if your server uses a non-standard SSH port.
  3. Choose an Authentication Method:
    • Root Password — Enter the root password provided by your hosting provider.
    • SSH Private Key — Paste the full contents of your private key (including the -----BEGIN and -----END lines).
  4. (Optional) Click Test Connection to verify SSH access before proceeding. A successful test displays the server's hostname.
  5. Click Add Server to begin provisioning.

What Happens During Provisioning

Once you click Add Server, ServerPlane dispatches a provisioning job that runs through the following steps. You can watch progress in real time on the provisioning screen.

1. SSH Connectivity Test

ServerPlane connects to the server using the credentials you provided and verifies SSH access.

2. SSH Key Setup

A unique SSH key pair is generated for your server, giving ServerPlane secure, ongoing access without needing your original credentials.

3. SSH Hardening

Password-based SSH authentication is disabled on the server. From this point on, only key-based authentication is accepted, which significantly reduces the risk of brute-force attacks.

4. Server Information Collection

ServerPlane gathers system details — OS version, hostname, CPU cores, RAM, disk size, and architecture — and stores them in the dashboard.

5. Server Initialization

ServerPlane automatically configures your server with the following:

  • Essential packages — Common utilities needed for hosting and administration.
  • Firewall — Configured to block all incoming traffic by default, with exceptions for SSH, HTTP, and HTTPS.
  • Intrusion prevention — Automated protection against brute-force login attempts.
  • Swap space — Created if one doesn't already exist, preventing out-of-memory crashes on low-RAM servers.
  • Timezone — Set to UTC by default (configurable later in server settings).
  • Automatic security updates — Security patches are applied automatically.
  • Monitoring agent — A lightweight agent is installed to provide real-time stats and health monitoring in the dashboard.

6. Activation

The server is marked as active and you are redirected to the server detail page.

The entire provisioning process typically takes 2-5 minutes, depending on your server's internet speed and hardware.

Server Statuses

Status Meaning
Pending Server record created, provisioning not yet started.
Provisioning Provisioning is in progress. You can watch each step complete in real time.
Active Server is fully provisioned and ready to use. The agent is reporting health data.
Error Provisioning failed at one of the steps above. Check the error message for details.
Disconnected The server was previously active but the agent has stopped sending heartbeats. This usually means the server is offline or the agent process was stopped.

Troubleshooting

Connection test fails with "Authentication failed"
Double-check your root password or SSH key. Make sure root login is enabled in your server's SSH configuration.

Connection test fails with "Connection failed"
Verify the IP address and SSH port are correct. Ensure port 22 (or your custom SSH port) is open in your provider's firewall/security group settings.

Provisioning fails at the initialization step
This usually indicates a package installation issue. Check that the server has internet access and can reach Ubuntu's package repositories. Retry by deleting the server and adding it again.

Server shows "Disconnected" after provisioning
The monitoring agent may not have started correctly. Try rebooting the server from your hosting provider's control panel. If the issue persists, delete the server from ServerPlane and re-add it.