1Prerequisites
Before you begin, make sure you have the following ready. This guide assumes no prior server administration experience.
DigitalOcean Account
Sign up at digitalocean.com. New users get $200 in free credits for 60 days.
OEC.sh Account
Create a free OEC.sh account to manage your Odoo deployment.
Domain Name (Optional)
A domain name for custom URL access. Can be added later if not available.
SSH Key (Recommended)
SSH key pair for secure server access. DigitalOcean can generate one for you.
New to DigitalOcean?
Sign up at digitalocean.com to receive $200 in free credits valid for 60 days. This is enough to run a production Odoo server for over a year on the basic plan.
2Create DigitalOcean Droplet
Set up your virtual server with optimal configuration for Odoo.
Log in to DigitalOcean
Navigate to cloud.digitalocean.com and sign in to your account. Click the green "Create" button and select "Droplets".
Choose a Region
Select a data center closest to your users for best performance. DigitalOcean has 15+ locations worldwide including New York, San Francisco, Amsterdam, Singapore, and more.
Select Ubuntu 22.04 LTS
Under "Choose an image", select Ubuntu 22.04 (LTS) x64. This is the most stable and well-supported version for Odoo deployments.
Choose Droplet Size
Select at minimum the $12/mo plan (1 vCPU, 2GB RAM) for production use. For better performance, the $24/mo plan (2 vCPU, 4GB RAM) is recommended.
Add SSH Key
Under "Authentication", select SSH Key and add your public key. If you do not have one, click "New SSH Key" and follow the instructions to generate one.
Create Droplet
Give your droplet a hostname (e.g., "odoo-production"), then click "Create Droplet". Wait 30-60 seconds for provisioning to complete.
3Configure Firewall
Secure your droplet with DigitalOcean Cloud Firewall.
Create Cloud Firewall
In the DigitalOcean control panel, navigate to Networking > Firewalls. Click "Create Firewall".
Configure Inbound Rules
Add the following inbound rules: SSH (port 22) - Your IP only, HTTP (port 80) - All IPv4/IPv6, HTTPS (port 443) - All IPv4/IPv6.
Apply to Droplet
Under "Apply to Droplets", search for and select your newly created droplet. Click "Create Firewall" to apply.
Cloud Firewalls are applied at the network level, providing protection before traffic reaches your droplet.
4Connect OEC.sh
Link your droplet to OEC.sh for automated Odoo management.
Copy Droplet IP
From the Droplets page, copy your droplet's public IPv4 address. You will find this on the droplet's overview page.
Log in to OEC.sh
Go to app.oec.sh and log in to your account. If you do not have one, sign up for a free account.
Add New Server
Click "Add Server" in the OEC.sh dashboard. Select "Bring Your Own Server (BYOS)" option.
Enter Server Details
Enter your droplet's IP address, select Ubuntu 22.04 as the OS, and paste your SSH private key or use the OEC.sh-generated key.
Verify Connection
OEC.sh will test the SSH connection. Once verified, the server will appear in your dashboard as connected.
5Deploy Odoo
Install and configure Odoo on your DigitalOcean droplet.
Create New Project
In OEC.sh, click "New Project". Give it a name (e.g., "My Company Odoo").
Select Odoo Version
Choose your Odoo version. We recommend Odoo 17 or 18 for new deployments. Community Edition is free; Enterprise requires a license.
Choose Server
Select your DigitalOcean droplet from the server list.
Configure Database
OEC.sh will automatically set up PostgreSQL. Optionally customize the database name and admin password.
Start Deployment
Click "Deploy". OEC.sh will install all dependencies, configure Nginx, and set up Odoo. This typically takes 5-10 minutes.
Access Odoo
Once deployment completes, click the provided URL to access your Odoo instance. Use the admin credentials from the setup to log in.
6Configure Domain & SSL
Set up a custom domain with free SSL certificate.
Point Domain to Droplet
In your domain registrar's DNS settings, create an A record pointing to your droplet's IP address. Example: odoo.yourdomain.com -> 123.45.67.89
Wait for DNS Propagation
DNS changes can take up to 48 hours to propagate, but typically complete within 15-30 minutes. You can check propagation at dnschecker.org.
Add Domain in OEC.sh
In your OEC.sh project settings, navigate to "Domains". Click "Add Domain" and enter your domain name.
Enable SSL
Toggle "Enable SSL" and OEC.sh will automatically provision a free Let's Encrypt certificate. This includes auto-renewal every 90 days.
Verify HTTPS
Visit your domain with https:// to confirm the SSL certificate is working. The browser should show a secure lock icon.
OEC.sh handles SSL certificate provisioning and renewal automatically. No manual configuration required.
7Droplet Recommendations
Choose the right DigitalOcean Droplet size based on your needs. You can always upgrade later without downtime.
Development
$6/mo1 vCPU / 1GB RAM / 25GB SSD
Small Production
$12/mo1 vCPU / 2GB RAM / 50GB SSD
Medium Production
$24/mo2 vCPU / 4GB RAM / 80GB SSD
Easy Scaling
DigitalOcean allows you to resize your Droplet at any time. Start small and scale up as your business grows. Upgrades take just a few minutes with minimal downtime.
8Cost Comparison
See how DigitalOcean with OEC.sh compares to other Odoo hosting options for a medium-sized deployment.
| Provider | Monthly Cost | Included Features |
|---|---|---|
DigitalOcean + OEC.sh | $$24/mo |
|
Odoo.sh (Standard) | $$72/mo |
|
AWS EC2 (Self-managed) | $$35/mo |
|
Save up to 67% vs Odoo.sh
DigitalOcean with OEC.sh offers the same or better features at a fraction of the cost. The free OEC.sh tier includes all essential management features, while the paid plans add advanced backups, monitoring, and multi-provider support.
Ready to Deploy Odoo on DigitalOcean?
Get your Odoo instance running in minutes with OEC.sh. Automated setup, SSL, backups, and monitoring included.