Servers
Learn how servers work in SPCBot and how to configure them for your team.
Visual Guide
Drop real screenshots into the paths below. This grid is rendered by src/app/docs/components/image-placeholder.tsx.
Dashboard Overview
Main dashboard with stats and recent deployments
public/docs/images/dashboard-overview.pngServer List
Connected servers and their health status
public/docs/images/servers-list.pngDeployment View
Live deployment logs and progress
public/docs/images/deployment-view.pngServers are the Linux machines that host your Odoo instances. You must register at least one server before creating instances. SPCBot supports multiple server providers and custom infrastructure.
Adding a Server
Click the Add Server button in the dashboard to open the new-server form. You'll need to provide:
- Server Name: A friendly identifier (e.g., "Production Server 1")
- IP Address: Public IP or hostname of the server
- SSH Credentials: how SPCBot will authenticate — Platform Key (recommended), a pasted SSH private key, or a password
- Provider: Hetzner, DigitalOcean, AWS, GCP, or Custom
- Ubuntu 22.04 LTS or newer
- Docker and Docker Compose installed
- SSH access (key or password) for the user you register the server with
- Minimum 4GB RAM, 2 CPU cores
- 50GB+ available storage
Server Status
| Status | Description | Action Required |
|---|---|---|
| PENDING | Server registered but not provisioned | Run setup script on server |
| PROVISIONING | Setup in progress | Wait for completion |
| READY | Server ready for deployments | None - start creating instances |
| ERROR | Setup failed or connection lost | Check server logs and reconnect |
| OFFLINE | Server unreachable | Verify network and SSH access |
Domain / IP Configuration
| Option | When to Use |
|---|---|
| Use a SPCBot subdomain | We manage the subdomain for you (e.g., client.spcbot.com) |
| Use own domain / IP | You provide a custom domain name or bare IP address |
Server Authentication Methods
SPCBot connects to every server over SSH and offers three ways to authenticate when you register one. All three are visible on the Add Server form; you don't need to pick in advance.
| Method | How it works |
|---|---|
| Platform Key Recommended | SPCBot holds its own SSH keypair and shows you the public half on the Add Server form. Add it to the new server's ~/.ssh/authorized_keys, then click Connect. Nothing of yours is uploaded to SPCBot — no private key or password ever leaves your control. |
| SSH Key | Paste your own private key (-----BEGIN ... KEY-----, e.g. the contents of ~/.ssh/id_ed25519 with no .pub extension). Stored AES-256 encrypted and never returned by the API. The matching public key (the .pub file) must already be in ~/.ssh/authorized_keys on the server — pasting the private key into authorized_keys by mistake is a common cause of "All authentication methods failed." Passphrase-protected keys are not supported by this field; use Platform Key instead if your key has one. |
| Password | SSH password for the user you register the server with. Stored AES-256 encrypted. Use only if the server doesn't accept key-based auth. |
Platform Key is the default and recommended method — it's the safest way to grant SPCBot access since you never hand over a private key, and revoking access later is as simple as removing one line from authorized_keys.
Managing a Registered Server
Open a server from the Servers list to reach its detail page. Day-to-day management lives on the Settings tab: re-run Verify SSH, change the default addon mode (SHARED/DEDICATED), enable monitoring (Prometheus/Grafana) if it isn't already installed, edit domain suffixes and resource-alert thresholds, rotate the stored SSH key, and delete the server. If a connection attempt fails during registration, the Add Server form offers a Retry connection button instead of forcing you to start over.
Supported Providers
- Hetzner: Cloud servers with API integration
- DigitalOcean: Droplets with managed databases
- AWS: EC2 instances and related services
- GCP: Google Compute Engine
- Custom: Any Linux server with SSH access