Connecting a server
A server joins CloudPilot when the agent is installed on it and checks in. There are two ways to get there. Both produce the same result.
Requirements#
- Ubuntu or Debian, reachable over SSH.
- Root or sudo on the machine.
- Outbound HTTPS. The agent dials out to CloudPilot; you do not need to open any inbound port for it.
Option 1 — Auto install over SSH#
Best when you have ordinary SSH access and want this over with.
- Servers → Add server → Auto install (SSH).
- Fill in a name, the server's IP, and the SSH user (often
rootorubuntu). - Authenticate with either a password or a private key. If your key has a passphrase, there is a field for it.
- If the SSH user is not root, supply the sudo password as well.
- Start the install and watch the log that appears. It reports each step and ends in success or a specific error.
CloudPilot opens one SSH session, installs the agent, and closes it.
They are used for that single install and are never written to the database. Neither the server record nor the install job has a field for them. If you want to confirm that independently, rotate the password or key afterwards — CloudPilot will not notice, because it does not hold a copy.
Option 2 — Manual install#
Best when CloudPilot cannot drive your SSH login: a jump host, an MFA prompt, a key you will not paste anywhere, or a policy that forbids it.
Servers → Add server → Manual.
Copy the command shown. It looks like:
curl -sL https://cloudpilot.in/install.sh | sudo bash -s -- YOUR_TOKENSSH in yourself and run it.
The token in that command is what ties the agent to your account and to this specific server record. Treat it like a password until the install finishes.
Piping a script into sudo bash deserves a look first. curl -sL https://cloudpilot.in/install.sh on its own prints it without running it.
After the install#
The server shows pending until the agent's first check-in, then online. That is usually under a minute.
If it stays pending, SSH in and look at the service:
sudo systemctl status cloudpilot-agent
sudo journalctl -u cloudpilot-agent -n 50 --no-pager
The most common causes are outbound HTTPS being blocked, or an install that failed partway and left the service stopped.
Server statuses#
| Status | Means |
|---|---|
| Pending | The record exists; the agent has not checked in yet. |
| Online | The agent is connected. Everything is available. |
| Offline | The agent stopped or lost its connection. Your sites keep serving; panel control of this machine is unavailable until it returns. |
Keeping agents current#
Servers → Bulk update agents updates several machines in one pass. Select the online servers and run it; each one reports its own result, so a failure on one box does not hide behind a success on another.
Removing a server#
Removing a server from the panel disconnects it. It does not wipe the machine —
your projects, data and configuration stay where they are. To take the agent off
as well, remove the cloudpilot-agent service and /opt/cloudpilot-agent over
SSH.
Raise a ticket and someone will pick it up. Sign in with the same account you use for the panel.
Raise a ticket