Step 6: Create your agent
Turn your Contabo VPS into a running AI agent with one command.
This is the main step. One command sets up your VPS from scratch and starts your agent.
Before you run it
- You are logged in and subscribed (Step 3)
- Your Contabo VPS is delivered and running (Step 4)
- Tailscale is connected on your computer (Step 5)
- Your computer will stay awake for the next 5–40 minutes. Don't close the terminal or let the laptop sleep.
Step 1: Start onboarding
officeclaws onboard --name MonaPick any name you like for the agent; Mona is just an example. If you leave out --name, the CLI asks for one.
Step 2: Enter your Contabo credentials
The first time you run this command, you are asked for the four values from Step 4:
Contabo client ID: ...
Contabo client secret: ...
Contabo API user (email): [email protected]
Contabo API password: ...
Validating Contabo credentials…
Contabo credentials saved.
Step 3: Enter your Tailscale auth key
Tailscale auth key: tskey-auth-...
Step 4: Pick your VPS
The CLI loads the servers in your Contabo account and lists them:
Syncing your Contabo VPSes…
Your VPSes:
1) 6f1c… 203.0.113.10 active
2) 9a2d… 203.0.113.24 active [agent: Bob (online)]
Pick a VPS number: 1
Type the number of the server you want and press Enter. A server marked [agent: …] already has an agent. Setup can't simply run on it again, because the first setup closed public SSH on that server. To put a new agent there, first reinstall Ubuntu 24.04 on that VPS from the Contabo control panel (see Manage agents), then pick it here. This erases the old agent.
"No VPSes found on your account" means Contabo hasn't delivered the server yet, or the API credentials belong to a different Contabo account.
Step 5: Wait
The CLI now shows each stage as it runs:
Provisioning "Mona" on VPS 6f1c… — this can take several minutes…
▸ Ensuring local Tailscale is connected...
▸ Loading selected VPS...
▸ Installing OpenClaw's SSH key on your VPS...
▸ Waiting for VPS to finish rebooting and quiesce cloud-init...
▸ Bootstrapping VPS over SSH...
▸ Running onboard_agent.sh via Tailscale (100.x.y.z)...
▸ Waiting for gateway to come online...
▸ Approving operator device...
You'll also see indented detail lines between these steps. That's normal.
During this step the CLI:
- Adds a dedicated SSH key, generated on your computer, to the VPS
- Secures the server: creates a separate user, turns on the firewall and brute-force protection, enables automatic security updates, and turns off password and root login
- Connects the server to your tailnet and closes public SSH
- Installs Docker and starts the agent
How long it takes:
| Situation | Time |
|---|---|
| Normal setup | about 5–10 minutes |
| If Contabo is slow to restart the server | up to 30–40 minutes |
When it finishes:
✅ Agent "Mona" is ready. Next:
officeclaws connect-codex ← connect your ChatGPT/Codex subscription to power it
officeclaws chat
Useful options
| Option | What it does |
|---|---|
--reinstall | Meant for our internal prebuilt server images. It does not wipe your VPS: when no such image exists in your Contabo account (the usual case), setup simply continues as normal. To start from a clean server, reinstall Ubuntu 24.04 from the Contabo control panel instead. See Manage agents. |
--ssh-pubkey "ssh-ed25519 AAAA… you@laptop" | Also adds your own SSH key to the server, so you can log in yourself later over Tailscale |
--avatar 1…12 | Picks the agent's avatar in the desktop app |
--comm-style friendly|business|creative | Sets the agent's tone of voice. The default is friendly. |
--tailscale-hostname name | Sets the server's name in your tailnet. By default it's based on the agent name. |
--vps <id> | Skips the server list and uses this VPS directly |
If something goes wrong
- If setup failed before it finished, run the same command again.
- If that doesn't help, or setup has already finished once on this server, start from a clean server: reinstall Ubuntu 24.04 on the VPS from the Contabo control panel, then run
officeclaws onboardagain. - Setup logs are saved in
~/.openclaw/logson your computer. - See Troubleshooting for common errors.