Prepare a Server on OVHcloud
This guide orders an OVHcloud VPS ready for Bring Your Own Server, with its firewall and backup storage. A VPS is set up in the Control Panel, so most of it is values to copy rather than commands. Skysize installs everything else on the server.
1. Order the VPS
Order a VPS in the location closest to your users, with the image Ubuntu 24.04.
| Use | Plan | vCPU | RAM | Disk |
|---|---|---|---|---|
| One production and one staging | VPS-2 | 4 | 8 GB | 75 GB |
| Production with staging and development branches | VPS-4 | 8 | 24 GB | 200 GB |
Avoid VPS-1: its 40 GB disk is below the 50 GB Skysize needs. VPS-2's disk is enough to start, but watch it as your database and files grow, and choose VPS-3 or larger if you already have a large database. Avoid Local Zones if Odoo sends email directly, because a VPS there cannot reach SMTP servers.
Your VPS's public IPv4 is in the delivery email and the Control Panel. Note it: your DNS records will point to it.
2. Add the firewall rules
A new VPS accepts traffic on every port, so there is nothing to open for ports 80 and 443. The installer also opens them in the server's own firewall if ufw is active.
To keep other ports closed from the internet, open your IP in the OVHcloud Control Panel and turn on the Edge Network Firewall. Find your own IP at ifconfig.me, then add these rules. It does nothing without the final refuse rule.
| Priority | Action | Protocol | Port | Source | Why |
|---|---|---|---|---|---|
| 0 | Accept | TCP, established | Any | Any | Replies to the server's outbound connections |
| 1 | Accept | UDP, source port 53 | Any | Any | DNS replies |
| 2 | Accept | ICMP | Any | Ping and network diagnostics | |
| 3 | Accept | TCP | 22 | Your IP address | Your access to the server |
| 4 | Accept | TCP | 80 | Any | Certificates and redirects |
| 5 | Accept | TCP | 443 | Any | Your Odoo sites |
| 19 | Refuse | IPv4 | Any | Any | Everything else |
Add your own IP rule before turning this on, or you can lock yourself out of SSH. Skysize itself needs no inbound port, and PostgreSQL (5432) should stay closed unless you use read-only database access.
3. Connect to the server
Use the credentials from the delivery email:
ssh ubuntu@YOUR_VPS_IP
This is where you paste the Skysize install command.
4. Create the backup storage
Skysize makes no backups until a project has a backup target. In the Control Panel, under Public Cloud → Object Storage:
- Create a private S3 bucket, ideally in another location than your server, and link a new user to it.
- Copy the user's access key and secret key.
- Copy the endpoint and region from the bucket's details.
5. Set the backup target
Once your project exists, open its Settings → Backup Target, click Add Target, and fill in:
| Field | Value |
|---|---|
| Type | S3-compatible (Wasabi, R2, MinIO...) |
| Bucket | Your bucket's name |
| Endpoint | The endpoint from the bucket's details, such as https://s3.gra.io.cloud.ovh.net |
| Region | The region in lowercase, such as gra |
| Prefix | The project name |
| Access key ID and Secret access key | The user's keys from step 4 |
Click Test to check it from your server.
Sending email from Odoo
Use an SMTP relay on port 587, as OVHcloud recommends. See Configure Outgoing Email.
Connect the server to Skysize
Your server is ready. Follow Set Up Your Own Server, starting at the step that registers the server. In short: register it in the dashboard, connect to it over SSH, and paste the install command. The status changes to Online within a minute of the installer finishing.
Once your first project runs, add your domain.
If something goes wrong
The dashboard says ports 80 and 443 are not reachable. Check the firewall rules above, and that the public IP in the server's settings is the one you noted. Then click Check again.
The server stays Offline. The server connects out to Skysize, so no inbound rule fixes this. Run these on the server:
sudo systemctl status skysize-agent
sudo journalctl -u skysize-agent -n 50
nc -zv cp.skysize.io 50051
If the installer did not finish, or the join token was already used, use Regenerate join token on the server's page and run the install command again.
Still stuck? Open Support in the dashboard and include the output of those commands.