Skip to main content

Prepare a Server on Google Cloud

This guide gets a Compute Engine VM ready for Bring Your Own Server, with its firewall, fixed IP and backup storage. Skysize installs everything else on the server.

Each step has two tabs: click through the Console, or paste from Command line. Your choice applies to the whole page.

Commands run in Cloud Shell, the terminal icon at the top of the Google Cloud console, so there is nothing to install. Select your project first, and keep the same tab open: each block reuses the values from step 1.

1. Choose your values​

Pick the zone closest to your users, and the size for your use.

UseMachine typevCPURAMDisk
One production and one staginge2-standard-228 GB100 GB
Production with staging and development branchese2-standard-4416 GB200 GB

Avoid the Arm series T2A, C4A and N4A: the installer refuses to run on them.

Select your project at the top of the Google Cloud console. Use the same region in every step.

2. Add the firewall rule​

The server needs these inbound ports, and no others:

ProtocolPortSourceWhy
TCP80Anywhere (0.0.0.0/0)Certificates and redirects
TCP443Anywhere (0.0.0.0/0)Your Odoo sites

Skysize itself needs no inbound port. SSH is already allowed by the default network's default-allow-ssh rule. Leave PostgreSQL (5432) closed unless you use read-only database access. Outbound traffic is allowed by default, and the server needs it.

  1. Open VPC network → Firewall → Create firewall rule.
  2. Set the name to skysize-odoo-web.
  3. Set Targets to Specified target tags, and Target tags to skysize-odoo-web.
  4. Set Source IPv4 ranges to 0.0.0.0/0.
  5. Under Protocols and ports, tick TCP and enter 80,443.
  6. Click Create.

3. Create the backup bucket and the server's identity​

Skysize makes no backups until a project has a backup target. This creates a private bucket and a service account that lets the server use it, with no key to store.

Service account

  1. Open IAM & Admin → Service Accounts → Create service account.
  2. Set the name to skysize-odoo, and click Done.
  3. Copy its email address.

Bucket

  1. Open Cloud Storage → Buckets → Create.
  2. Enter a name that is unique across Google Cloud, such as skysize-odoo-backups- followed by your project ID.
  3. Choose your region, keep uniform access control, and keep public access prevention on. Click Create.
  4. On the bucket's Permissions tab, click Grant access.
  5. Paste the service account's email, choose the role Storage Object Admin, and click Save.

4. Create the VM with a fixed IP​

Use Ubuntu 24.04 for x86, and a static IP so your DNS records keep working if the VM stops. Note this IP: your DNS records will point to it.

Open Compute Engine → VM instances → Create instance, and set:

SettingValue
Nameskysize-odoo
Region and ZoneYours
Machine typeThe type from step 1
OS and storageUbuntu, Ubuntu 24.04 LTS, the x86/64 version. Balanced persistent disk, with the size from step 1.
Networking → Network tagsskysize-odoo-web
Networking → Network interface → External IPv4 addressReserve a new static address
Security → Service accountskysize-odoo
Security → Access scopesAllow full access to all Cloud APIs

Then click Create.

5. Connect to the server​

This is where you paste the Skysize install command.

Click SSH next to the VM in the list of VM instances. A terminal opens in your browser.

6. Set the backup target​

Once your project exists, open its Settings → Backup Target, click Add Target, and fill in:

FieldValue
TypeGoogle Cloud Storage
BucketYour bucket's name
PrefixThe project name
CredentialsServer default

Click Test to check it from your server.

Sending email from Odoo​

Google Cloud blocks outgoing port 25 by default. Use an SMTP relay on port 587. 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.