Why DigitalOcean for Odoo?
DigitalOcean offers simple, predictable pricing with excellent developer experience. Their Droplets provide NVMe SSDs, dedicated CPU options, and a clean UI. Managed PostgreSQL eliminates database administration. Ideal for startups and small-medium businesses running Odoo.
Pricing (2026)
| Droplet | Spec | Price | Odoo Use Case |
|---|---|---|---|
| Basic | 2 vCPU, 4GB, 80GB | $24/mo | Development, small production |
| Basic | 4 vCPU, 8GB, 160GB | $48/mo | Medium production (10-30 users) |
| CPU-Optimized | 4 vCPU, 8GB, 100GB | $84/mo | High-traffic production |
| Managed PostgreSQL | 1 vCPU, 1GB | $15/mo | Add-on: managed DB |
Option A: All-in-One Droplet
Step 1: Create Droplet
- DigitalOcean Console → Create → Droplets
- Region: Closest to your users (NYC, AMS, SFO, etc.)
- Image: Ubuntu 24.04 LTS
- Size: Basic 4 vCPU, 8GB RAM ($48/mo)
- Authentication: SSH Key
- Hostname: odoo-production
Step 2: Install Odoo
# SSH in
ssh root@your-droplet-ip
# Update and install dependencies
apt update && apt upgrade -y
apt install -y postgresql git python3-pip python3-dev python3-venv \
libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev \
libldap2-dev build-essential libssl-dev libffi-dev \
libjpeg-dev libpq-dev node-less npm nginx certbot \
python3-certbot-nginx
# PostgreSQL user
su - postgres -c "createuser --createdb odoo"
su - postgres -c "psql -c \"ALTER USER odoo WITH PASSWORD 'secure_password';\""
# Odoo user and installation
adduser --system --home=/opt/odoo --group odoo
su - odoo -s /bin/bash -c '
git clone https://github.com/odoo/odoo.git --depth 1 --branch 19.0 /opt/odoo/odoo
python3 -m venv /opt/odoo/venv
source /opt/odoo/venv/bin/activate
pip install --upgrade pip wheel
pip install -r /opt/odoo/odoo/requirements.txt
'
# wkhtmltopdf
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
apt install -y ./wkhtmltox_0.12.6.1-3.jammy_amd64.deb
# Configure, create systemd service, nginx, SSL
# (Same as Ubuntu guide — see deploy-odoo-19-on-ubuntu-24)Option B: Droplet + Managed PostgreSQL
For easier database management, use DigitalOcean's Managed Database:
- Create Managed PostgreSQL: Databases → Create → PostgreSQL 16
- Size: 1 vCPU, 1GB ($15/mo) for small instances
- Region: Same as your Droplet
- Add Droplet to trusted sources
# In odoo.conf, use managed DB connection:
db_host = your-db-cluster.db.ondigitalocean.com
db_port = 25060
db_user = odoo
db_password = managed_db_password
db_sslmode = requireBenefits: automated backups, automatic failover, point-in-time recovery, no PostgreSQL administration.
DigitalOcean Spaces for Backups
# Install s3cmd
apt install -y s3cmd
s3cmd --configure # Enter Spaces access key and secret
# Backup to Spaces
pg_dump -U odoo -Fc odoo > /tmp/backup.dump
s3cmd put /tmp/backup.dump s3://your-space/odoo-backups/$(date +%Y%m%d).dump
# Automate with cron
0 3 * * * /opt/scripts/backup-to-spaces.shDigitalOcean Monitoring
- Enable built-in monitoring (free) for CPU, memory, disk, bandwidth alerts
- Set alerts: CPU > 80%, Disk > 90%, Memory > 85%
- Use Uptime Checks for HTTP monitoring of your Odoo URL
DigitalOcean-Specific Tips
- Snapshots: Take before upgrades ($0.06/GB/mo)
- Reserved IPs: Free floating IP for server migration without DNS changes
- Firewalls: Use DigitalOcean Cloud Firewalls (free) in addition to UFW
- Resize: Resize Droplet with minutes of downtime when you need more resources
DeployMonkey on DigitalOcean
DeployMonkey deploys to DigitalOcean automatically. Select DigitalOcean as your provider, choose Droplet size, and your production Odoo instance is live in 3 minutes with all optimizations.