Skip to content

Deploy Odoo on Google Cloud Platform (GCP): Complete Guide

DeployMonkey Team · March 22, 2026 12 min read

Why GCP for Odoo?

Google Cloud Platform offers competitive pricing with automatic sustained use discounts (up to 30% off), managed PostgreSQL (Cloud SQL), global load balancing, and excellent networking. GCP is strong for companies already using Google Workspace or needing ML/AI integrations.

GCP Cost Estimate

ServiceSpecMonthly Cost
Compute Engine (e2-standard-4)4 vCPU, 16GB RAM~$100
Cloud SQL PostgreSQLdb-custom-2-4096~$60
Persistent Disk (100GB SSD)Storage~$17
Cloud Storage (50GB)Backups~$1
Cloud Load BalancingWith managed SSL~$18
Total~$196/mo

With sustained use discounts: ~$140/mo. With committed use (1-year): ~$120/mo.

Step 1: Create Compute Engine VM

# Using gcloud CLI
gcloud compute instances create odoo-server \
    --zone=us-central1-a \
    --machine-type=e2-standard-4 \
    --image-family=ubuntu-2404-lts \
    --image-project=ubuntu-os-cloud \
    --boot-disk-size=50GB \
    --boot-disk-type=pd-ssd \
    --tags=http-server,https-server

# Firewall rules
gcloud compute firewall-rules create allow-http \
    --allow=tcp:80 --target-tags=http-server
gcloud compute firewall-rules create allow-https \
    --allow=tcp:443 --target-tags=https-server

Step 2: Cloud SQL PostgreSQL

# Create Cloud SQL instance
gcloud sql instances create odoo-db \
    --database-version=POSTGRES_16 \
    --tier=db-custom-2-4096 \
    --region=us-central1 \
    --storage-size=50GB \
    --storage-type=SSD

# Create database and user
gcloud sql databases create odoo --instance=odoo-db
gcloud sql users create odoo --instance=odoo-db --password=secure_password

# Authorize VM to connect
gcloud sql instances patch odoo-db \
    --authorized-networks=$(gcloud compute instances describe odoo-server \
    --zone=us-central1-a --format='get(networkInterfaces[0].accessConfigs[0].natIP)')

Step 3: Install Odoo on VM

# SSH into VM
gcloud compute ssh odoo-server --zone=us-central1-a

# Standard Odoo installation (same as Ubuntu guide)
# Key difference in odoo.conf:
db_host = CLOUD_SQL_IP
db_port = 5432
db_user = odoo
db_password = secure_password
db_sslmode = require

Step 4: Cloud Load Balancer + Managed SSL

# Reserve static IP
gcloud compute addresses create odoo-ip --global

# Create managed SSL certificate
gcloud compute ssl-certificates create odoo-cert \
    --domains=your-domain.com --global

# Create health check
gcloud compute health-checks create http odoo-health \
    --port=8069 --request-path=/web/health

# Create backend service
gcloud compute backend-services create odoo-backend \
    --protocol=HTTP --port-name=http --health-checks=odoo-health --global

# Create URL map and target proxy
gcloud compute url-maps create odoo-map --default-service=odoo-backend
gcloud compute target-https-proxies create odoo-proxy \
    --url-map=odoo-map --ssl-certificates=odoo-cert

# Create forwarding rule
gcloud compute forwarding-rules create odoo-https \
    --address=odoo-ip --target-https-proxy=odoo-proxy --ports=443 --global

Step 5: Cloud Storage Backups

# Create bucket
gsutil mb -l us-central1 gs://company-odoo-backups/

# Backup script
pg_dump -h CLOUD_SQL_IP -U odoo -Fc odoo > /tmp/backup.dump
gsutil cp /tmp/backup.dump gs://company-odoo-backups/$(date +%Y%m%d).dump

# Lifecycle rule: delete backups older than 90 days
gsutil lifecycle set lifecycle.json gs://company-odoo-backups/

GCP-Specific Tips

  • Sustained use discounts: Automatic 30% discount after running 25%+ of the month
  • Committed use: 1-year commit saves 37%, 3-year saves 55%
  • Preemptible VMs: 80% cheaper for dev/testing (may be interrupted)
  • Cloud SQL HA: Enable high availability for production (doubles cost)
  • Private IP: Use Cloud SQL private IP for lower latency and no egress charges

DeployMonkey on GCP

DeployMonkey deploys to Google Cloud automatically — Compute Engine, Cloud SQL, managed SSL, Cloud Storage backups. AI agent monitors your GCP-hosted Odoo and optimizes resource utilization.