Documentation / Your server
Servers Overview
How calmo.cloud connects to and manages your servers.
Servers are the foundation of your calmo.cloud setup. They are the machines where your Odoo instances run. calmo.cloud connects to your servers securely via SSH and handles all the technical setup automatically.
What does calmo.cloud do on my server? #
When you add a server to calmo.cloud, it automatically:
- Installs Docker — The technology that keeps each Odoo instance isolated and secure
- Sets up databases — PostgreSQL databases for your Odoo services
- Configures networking — A reverse proxy (Traefik) that routes web traffic to the right service
- Creates DNS records — A platform domain so services are instantly accessible
- Enables monitoring — Optional server metrics via Telegraf
- Frees up disk space every night — Removes unused Docker images, stale build cache and files left behind by interrupted copies, backups and restores, and keeps the system journal to 1 GB. Running services, databases and filestores are never touched.
You don't need to manually configure any of this.
Optional server features #
The server's settings have a tab for each feature you can add:
| Tab | What it adds |
|---|---|
| Telegraf | Server metrics and the data for metric alerts |
| Fail2ban | Blocks IP addresses after repeated failed SSH and Odoo logins. See Fail2ban. |
| Mail catcher | Keeps the emails that copies, previews and coding-agent copies send. See Emails sent by copies. |
| Log history | Keeps Odoo logs after the server has rotated them away. In early access. See Log history. |
Telegraf and fail2ban cannot be switched off once installed.
Server requirements #
To use a server with calmo.cloud, it must meet these minimum requirements:
| Requirement | Details |
|---|---|
| Operating system | Ubuntu 22.04 or newer (recommended) |
| SSH access | Root login via SSH key (sudo is not enough) |
| Open ports | 80 (HTTP) and 443 (HTTPS) for everyone, 22 (SSH) for calmo.cloud's address. See Firewall. |
| Resources | At least 2 GB RAM and 20 GB disk space per Odoo instance |
Most cloud providers (Hetzner, DigitalOcean, AWS, Vultr) offer servers that meet these requirements out of the box. calmo.cloud can also order servers directly from supported providers like Hetzner.
Firewall #
calmo.cloud connects to your servers over SSH from a single IPv4 address:
138.199.209.10
If a firewall limits who may connect over SSH, allow this address on the server's SSH port, usually 22. That applies to a firewall on the server itself, such as ufw or iptables, and to one at your cloud provider, such as a Hetzner Cloud Firewall. Every SSH connection calmo.cloud makes comes from this address: setting up the server, deploying and updating Odoo, backups and restores, copies, and the web terminal. While the address is blocked, the server shows as unreachable and none of these work.
With ufw, for example:
ufw allow from 138.199.209.10 to any port 22 proto tcp
Keep a rule for your own address too, or you lock yourself out of the server.
Ports 80 and 443 must stay open to everyone: visitors reach your Odoo through them, and Let's Encrypt issues the HTTPS certificates through port 443.
Server dashboard #
Each server in calmo.cloud shows you:
- Connection status — Whether calmo.cloud can reach the server
- Docker status — Whether Docker is installed and running
- Database status — Whether PostgreSQL is configured
- Proxy status — Whether Traefik is handling web traffic
- Running services — A list of all Odoo instances on this server
Multiple servers #
You can add as many servers as you need. Common setups include:
- Single server — Great for small teams or getting started
- Separate test and production servers — Keep test environments isolated from live ones
- Regional servers — Host instances closer to your users for better performance