Odoo
A Python ERP on PostgreSQL.
Odoo is a full ERP in Python on PostgreSQL, and its resource use depends on active modules more than on user count. An install with accounting and inventory runs on 4 GB; adding manufacturing or e-commerce easily takes it to 8 GB. PostgreSQL wants its own memory, so count it separately. Each Odoo worker takes memory on its own: the rule of thumb is 1 worker per vCPU plus one.
RAM ≥ 4 GB CPU ≥ 2 cores Storage ≥ 40 GB
Recommended plans
Chosen for fitting the requirements and the price/performance for this workload.
Why: 8 GB and 4 vCPU: comfortable for several modules
contabo/vps-10.json 9 regions · Contabo
Contabo Cloud VPS 10
No longer available
4 vCPU, 8 GB RAM, 75 GB NVMe from €3.60/mo on 12-month term.
$3.91 /mo
~15 ms ★ Featured Best price<€4
4.2
vCPU
4 Intel/AMD shared
RAM
8 GB
NVME
75 GB
Bandwidth
∞ unmetered
4 vCPU 8 GB RAM 75 GB NVME ∞
Why: 4 GB for an install with few modules
Why: More disk if you'll store lots of attachments
contabo/storage-vps-10.json 9 regions · Contabo
$4.89 /mo
~15 ms
4.2
vCPU
2 Intel/AMD shared
RAM
4 GB
SSD
300 GB
Bandwidth
∞ unmetered
2 vCPU 4 GB RAM 300 GB SSD ∞
Operational tips
- Plan 1 worker per vCPU plus one, and count each worker's memory separately.
- PostgreSQL needs its own RAM: don't lump it in with Odoo's.
- Active modules weigh more than the number of users.
- Attachments go to the filestore, not the database: watch the disk.