1Prerequisites
Before deploying Odoo on Google Cloud Platform, ensure you have the following ready:
GCP Account
- Active Google Cloud account
- Billing enabled on your project
- Access to Compute Engine API
- GCP free tier eligible (optional)
OEC.sh Account
- Free or paid OEC.sh account
- SSH key pair generated
- Basic understanding of Odoo
- Domain name (optional)
GCP Free Tier
Google Cloud offers $300 in free credits for new accounts, plus always-free tier resources including 1 e2-micro instance. Perfect for testing Odoo deployments.
2Create GCP Compute Engine Instance
Create a new Compute Engine VM instance that will host your Odoo installation. Follow these steps in the GCP Console.
Step 1: Open Compute Engine
- Go to the GCP Console
- Navigate to Compute Engine > VM instances
- Click "Create Instance"
Step 2: Configure Instance Settings
Step 3: Configure Boot Disk
- Click "Change" under Boot disk
- Select "Ubuntu" as the Operating System
- Choose "Ubuntu 22.04 LTS" version
- Select "SSD persistent disk" for Boot disk type
- Set size to 50 GB (or more for larger deployments)
- Click "Select"
Step 4: Configure Networking
- Expand "Advanced options" > "Networking"
- Under "Network tags", add:
http-serverandhttps-server - Under External IPv4 address, select "Reserve static external IP address"
- Name it
odoo-ipand reserve
Important: Reserve Static IP
Always reserve a static IP for production Odoo instances. Without it, your IP may change when the VM restarts, breaking your domain configuration.
Alternative: Using gcloud CLI
# Create the VM instance using gcloud CLIgcloud compute instances create odoo-production \ --zone=us-central1-a \ --machine-type=e2-medium \ --image-family=ubuntu-2204-lts \ --image-project=ubuntu-os-cloud \ --boot-disk-size=50GB \ --boot-disk-type=pd-ssd \ --tags=http-server,https-server# Reserve a static IPgcloud compute addresses create odoo-ip \ --region=us-central1# Assign static IP to instancegcloud compute instances delete-access-config odoo-production \ --zone=us-central1-a \ --access-config-name="External NAT"gcloud compute instances add-access-config odoo-production \ --zone=us-central1-a \ --address=$(gcloud compute addresses describe odoo-ip --region=us-central1 --format='value(address)')3Configure Firewall Rules
GCP uses VPC firewall rules to control traffic to your instances. We need to allow HTTP, HTTPS, and SSH access.
Default Firewall Rules
If you added the http-server and https-server tags, GCP automatically applies these rules:
| Rule Name | Port | Protocol | Source |
|---|---|---|---|
| default-allow-http | 80 | TCP | 0.0.0.0/0 |
| default-allow-https | 443 | TCP | 0.0.0.0/0 |
| default-allow-ssh | 22 | TCP | 0.0.0.0/0 |
Create Custom Firewall Rules (if needed)
# Allow HTTP trafficgcloud compute firewall-rules create allow-http \ --allow tcp:80 \ --target-tags http-server \ --description "Allow HTTP traffic"# Allow HTTPS trafficgcloud compute firewall-rules create allow-https \ --allow tcp:443 \ --target-tags https-server \ --description "Allow HTTPS traffic"# Allow Odoo direct access (optional, for testing)gcloud compute firewall-rules create allow-odoo \ --allow tcp:8069 \ --target-tags odoo-server \ --description "Allow Odoo direct access"Security Best Practice
In production, do not expose port 8069 directly. Use Nginx as a reverse proxy (handled automatically by OEC.sh) and only allow ports 80 and 443.
4Connect OEC.sh to Your Server
Now that your GCP instance is running, connect it to OEC.sh for easy Odoo deployment and management.
Step 1: Get Your Server IP
# Get the external IP of your instancegcloud compute instances describe odoo-production \ --zone=us-central1-a \ --format='get(networkInterfaces[0].accessConfigs[0].natIP)'Or find the IP in the GCP Console under Compute Engine > VM instances.
Step 2: Add Server to OEC.sh
- Log in to your OEC.sh dashboard
- Click "Add Server" or "Connect Server"
- Select "Bring Your Own Server" option
- Enter your GCP instance's external IP address
- Copy the OEC.sh SSH public key provided
Step 3: Add OEC.sh SSH Key to GCP Instance
SSH into your GCP instance and add the OEC.sh public key:
# SSH into your GCP instancegcloud compute ssh odoo-production --zone=us-central1-a# Add the OEC.sh public key to authorized_keysecho "ssh-rsa AAAA...your-oecsh-key-here..." >> ~/.ssh/authorized_keys# Set correct permissionschmod 600 ~/.ssh/authorized_keysAlternatively, add the key via GCP Console:
- Go to Compute Engine > Metadata
- Click "SSH Keys" tab
- Click "Add Item"
- Paste the OEC.sh public key
- Click "Save"
Step 4: Verify Connection
Return to the OEC.sh dashboard and click "Verify Connection". OEC.sh will test SSH access to your server.
Connection Successful
Once verified, your GCP server is ready for Odoo deployment. OEC.sh will handle all the infrastructure setup automatically.
5Deploy Odoo
With your GCP server connected to OEC.sh, deploying Odoo is just a few clicks away.
Step 1: Create New Project
- In OEC.sh dashboard, click "New Project"
- Select your connected GCP server
- Choose Odoo version (17 or 18 recommended)
- Select Community or Enterprise edition
Step 2: Configure Deployment
Step 3: Deploy
- Review your configuration
- Click "Deploy"
- Wait 3-5 minutes for deployment to complete
- Access Odoo at your server's IP address
What OEC.sh Configures
OEC.sh automatically installs and configures: Odoo, PostgreSQL, Nginx reverse proxy, SSL certificates, automated backups, log rotation, and monitoring.
6Configure Domain & SSL
Set up your custom domain and enable HTTPS for secure access to your Odoo instance.
Step 1: Configure DNS
Add a DNS A record pointing your domain to your GCP instance's static IP:
| Type | Name | Value | TTL |
|---|---|---|---|
| A | @ | YOUR_GCP_IP | 3600 |
| A | www | YOUR_GCP_IP | 3600 |
Step 2: Add Domain in OEC.sh
- Go to your project in OEC.sh dashboard
- Navigate to "Domains" section
- Click "Add Domain"
- Enter your domain name (e.g., odoo.yourdomain.com)
- Click "Add"
Step 3: Enable SSL
OEC.sh automatically provisions and renews SSL certificates via Let's Encrypt:
- Click "Enable SSL" next to your domain
- Wait for DNS propagation (up to 15 minutes)
- SSL certificate is automatically issued and installed
- Your Odoo is now accessible via HTTPS
Deployment Complete
Your Odoo instance is now running on Google Cloud Platform with automatic SSL, backups, and monitoring powered by OEC.sh.
7GCP Instance Recommendations
Choose the right GCP instance type based on your Odoo workload and user count:
| Instance Type | vCPUs | Memory | Use Case | Users |
|---|---|---|---|---|
| e2-small | 2 vCPUs (shared) | 2 GB | Development / Testing | 1-5 users |
| e2-medium | 2 vCPUs (shared) | 4 GB | Small Production | 5-15 users |
| e2-standard-2 | 2 vCPUs (dedicated) | 8 GB | Medium Production | 15-50 users |
| e2-standard-4 | 4 vCPUs (dedicated) | 16 GB | Large Production | 50-100 users |
Development
e2-small
2 shared vCPUs, 2GB RAM. For testing and development only.
Recommended
e2-standard-2
2 dedicated vCPUs, 8GB RAM. Best for most production workloads.
High Performance
e2-standard-4
4 dedicated vCPUs, 16GB RAM. For large deployments with heavy traffic.
Scaling Tip
Start with e2-medium for small production workloads. GCP allows easy scaling - you can resize your instance at any time with minimal downtime.
8Cost Comparison: GCP + OEC.sh vs Odoo.sh
Compare the total cost of running Odoo on GCP with OEC.sh versus Odoo.sh hosting:
| Configuration | GCP + OEC.sh | Odoo.sh | Savings |
|---|---|---|---|
Development e2-small, 2GB RAM | $21/mo | $32/mo | 34% |
Small Production e2-medium, 4GB RAM | $53/mo | $132/mo | 60% |
Medium Production e2-standard-2, 8GB RAM | $98/mo | $264/mo | 63% |
Large Production e2-standard-4, 16GB RAM | $147/mo | $528/mo | 72% |
Save Up to 72% vs Odoo.sh
By using GCP with OEC.sh, you get full control over your infrastructure while saving significantly compared to Odoo.sh. Plus, you keep your data on your own servers.
What You Get with GCP + OEC.sh
9Frequently Asked Questions
Ready to Deploy Odoo on GCP?
Get started with OEC.sh and deploy Odoo on Google Cloud Platform in minutes. Enjoy automated backups, one-click updates, and 24/7 monitoring.
Related Guides
Deploy Odoo (General Guide)
Complete guide for deploying Odoo on any VPS or cloud server.
Odoo Backup to Cloud Storage
Automate Odoo backups to S3, R2, B2, and other cloud storage.
Odoo Performance Optimization
Tune PostgreSQL and Odoo for maximum performance.
OEC.sh vs Odoo.sh
Compare hosting options and save up to 70% on costs.