Skip to main content
AWS Deployment Guide

Deploy Odoo on AWS with OEC.sh

Step-by-step guide to deploying Odoo on AWS EC2. Learn how to create an EC2 instance, configure security groups, and deploy Odoo in minutes with OEC.sh. Save up to 70% compared to Odoo.sh.

10-15 min read
Updated January 2025
AWS EC2 + OEC.sh

Introduction

Amazon Web Services (AWS) is the world's largest cloud provider, offering reliable infrastructure for hosting Odoo. With AWS EC2 and OEC.sh, you can deploy Odoo with enterprise-grade infrastructure while maintaining full control over your costs.

This guide walks you through deploying Odoo on AWS EC2 using OEC.sh for simplified management. You will learn how to select the right instance type, configure security, and get Odoo running in production.

Why AWS + OEC.sh?

Combine AWS infrastructure reliability with OEC.sh ease of use. Get one-click Odoo deployment, automated backups, monitoring, and updates without the complexity of manual server management.

Prerequisites

Before you begin, make sure you have the following:

AWS Account

Active AWS account with EC2 access. New accounts get 12 months of Free Tier benefits.

OEC.sh Account

Free OEC.sh account to manage your Odoo deployment. Sign up takes less than a minute.

Basic EC2 Knowledge

Familiarity with AWS Console and basic understanding of EC2 instances and security groups.

1

Create AWS EC2 Instance

Follow these steps to create an EC2 instance for Odoo:

1.1 Open EC2 Dashboard

  • Log in to AWS Console at aws.amazon.com
  • Navigate to EC2 under Compute services
  • Click "Launch Instance" button

1.2 Configure Instance

  • Name: Enter "Odoo-Production" or your preferred name
  • AMI: Select Ubuntu Server 22.04 LTS (HVM)
  • Instance type: t3.medium (recommended for small production)
  • Key pair: Create new or select existing SSH key pair

1.3 Configure Storage

  • Size: 40 GB minimum (80 GB+ for production)
  • Volume type: gp3 (General Purpose SSD)
  • IOPS: 3000 (default for gp3)
2

Configure Security Groups

Security groups act as a firewall for your EC2 instance. Configure the following inbound rules:

TypeProtocolPortSourceDescription
SSHTCP22Your IP / 0.0.0.0/0SSH access for OEC.sh
HTTPTCP800.0.0.0/0HTTP traffic
HTTPSTCP4430.0.0.0/0HTTPS traffic (SSL)

Security Best Practice

For production, restrict SSH (port 22) to your IP address or use AWS Systems Manager Session Manager for secure access. Never leave SSH open to 0.0.0.0/0 in production.

3

Connect OEC.sh to Your Server

Once your EC2 instance is running, connect it to OEC.sh for automated Odoo management:

1

Get Your EC2 Public IP

In EC2 dashboard, click on your instance and copy the Public IPv4 address (e.g., 54.123.45.67)

2

Add Server in OEC.sh

Log in to OEC.sh dashboard, go to Servers, and click "Add Server". Enter your EC2 IP address and SSH credentials.

3

Verify Connection

OEC.sh will test the connection and prepare your server for Odoo deployment. This takes about 2-3 minutes.

4

Deploy Odoo

With your server connected, deploying Odoo is just a few clicks:

Create New Project

In OEC.sh, click "New Project" and select your connected EC2 server. Choose Odoo version (17 or 18 recommended).

Configure Settings

Set database name, admin password, and optional Git repository for custom modules. OEC.sh handles all the server configuration automatically.

Deploy

Click Deploy and watch the progress. OEC.sh installs PostgreSQL, Odoo, Nginx, and configures everything. Deployment typically takes 3-5 minutes.

Included with every deployment

PostgreSQL optimization, Nginx reverse proxy, daily automated backups, monitoring, and one-click updates.

5

Configure Domain & SSL

Point your domain to Odoo and enable HTTPS:

Configure DNS

Add an A record in your domain registrar pointing to your EC2 public IP:

Type:A
Name:@ or odoo
Value:Your EC2 Public IP

Enable SSL in OEC.sh

Once DNS propagates (usually 5-15 minutes):

  • Go to your project settings in OEC.sh
  • Add your custom domain
  • Click "Enable SSL" - automatic Let's Encrypt certificate
  • Access Odoo at https://your-domain.com

AWS Instance Recommendations

Choose the right EC2 instance based on your Odoo usage:

InstancevCPUMemoryUse CaseUsersEst. Cost
t3.small
2 vCPU2 GBDevelopment & Testing1-5 users$15-20/mo
t3.mediumRecommended
2 vCPU4 GBSmall Production5-20 users$30-40/mo
t3.large
2 vCPU8 GBMedium Production20-50 users$60-80/mo
t3.xlarge
4 vCPU16 GBLarge Production50-100 users$120-150/mo

* Prices are estimates for on-demand instances in US regions. Use Reserved Instances or Savings Plans for 30-60% additional savings.

Cost Comparison: AWS + OEC.sh vs Odoo.sh

See how much you can save by hosting Odoo on AWS with OEC.sh compared to Odoo.sh:

TierAWS + OEC.shOdoo.shSavings
Small
Up to 10 users
$39/mo
$30/mo (t3.medium) + $9/mo (OEC.sh)
$72/mo (One App Free + users)46% less
Medium
Up to 50 users
$109/mo
$80/mo (t3.large) + $29/mo (OEC.sh)
$360/mo70% less
Large
100+ users
$249/mo
$150/mo (t3.xlarge) + $99/mo (OEC.sh)
$864/mo+71% less

AWS + OEC.sh Benefits

  • Full control over your infrastructure
  • Scale resources independently
  • Use Reserved Instances for more savings
  • Access to full AWS ecosystem
  • No vendor lock-in on infrastructure

Odoo.sh Limitations

  • Fixed pricing tiers
  • Limited infrastructure choices
  • Higher costs at scale
  • Fewer regions available
  • Odoo Enterprise required

Ready to Deploy Odoo on AWS?

Get started with OEC.sh today. Deploy Odoo on your AWS EC2 instance in minutes, not hours. Free plan available.

Frequently Asked Questions

What AWS region should I choose for Odoo?

Choose the AWS region closest to your primary users for the best latency. For US businesses, us-east-1 (N. Virginia) or us-west-2 (Oregon) are popular choices. For EU businesses, eu-west-1 (Ireland) or eu-central-1 (Frankfurt) are recommended. Consider data residency requirements for GDPR compliance when selecting EU regions.

Can I use AWS Free Tier for Odoo?

AWS Free Tier includes 750 hours/month of t2.micro or t3.micro for the first 12 months. However, these instances have only 1GB RAM, which is insufficient for production Odoo. You can use Free Tier for learning and basic testing, but production deployments require at least t3.small (2GB RAM) or preferably t3.medium (4GB RAM).

Should I use EBS gp2 or gp3 for Odoo?

Use gp3 (General Purpose SSD v3) for Odoo deployments. gp3 offers better performance (3000 IOPS baseline vs 100 IOPS/GB for gp2) at a lower cost. For database-heavy workloads, consider io2 Block Express for even higher IOPS. Configure at least 20GB for small deployments and 80GB+ for production with attachments.

How do I handle Odoo backups on AWS?

OEC.sh provides automated daily backups with one-click restore. Additionally, you can configure EBS snapshots for infrastructure-level backups. For disaster recovery, OEC.sh supports backup to S3, Cloudflare R2, and other storage providers. We recommend keeping 30 days of daily backups and weekly backups for 3 months.

Can I use RDS for PostgreSQL instead of running it on EC2?

Yes, AWS RDS for PostgreSQL is supported with OEC.sh. Using RDS adds cost ($15-50/mo for small instances) but provides automated backups, patching, and multi-AZ failover. For most small to medium deployments, running PostgreSQL on the same EC2 instance works well. Consider RDS when you need high availability or dedicated database resources.

What about AWS Lightsail vs EC2 for Odoo?

AWS Lightsail offers simplified pricing ($5-40/mo fixed) with bundled resources, while EC2 provides more flexibility and scaling options. Lightsail is great for simple deployments with predictable costs. EC2 is better for production workloads needing auto-scaling, reserved instances for cost savings, or integration with other AWS services. OEC.sh works with both.

How do I scale Odoo on AWS?

Start with vertical scaling: resize your EC2 instance to a larger type (e.g., t3.medium to t3.large). For horizontal scaling, use multiple Odoo workers on a larger instance. For high-availability, consider running multiple EC2 instances behind an Application Load Balancer (ALB) with a shared RDS PostgreSQL database. OEC.sh supports all these configurations.

Deploy Odoo on AWS Today

Combine the power of AWS infrastructure with OEC.sh simplicity. Get your Odoo instance running in minutes, not hours.