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
| Service | Spec | Monthly Cost |
|---|---|---|
| Compute Engine (e2-standard-4) | 4 vCPU, 16GB RAM | ~$100 |
| Cloud SQL PostgreSQL | db-custom-2-4096 | ~$60 |
| Persistent Disk (100GB SSD) | Storage | ~$17 |
| Cloud Storage (50GB) | Backups | ~$1 |
| Cloud Load Balancing | With 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-serverStep 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 = requireStep 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 --globalStep 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.