Odoo server requirements depend heavily on the number of concurrent users, the modules installed, and whether you are running Community or Enterprise. This guide covers the exact specifications you need — from minimum development environments to large enterprise deployments — including the RAM formula, CPU worker calculation, and a budget provider comparison so you can run Odoo without overspending.
Minimum Odoo Server Requirements
The absolute minimum to get Odoo running is 1 CPU core and 1GB of RAM. At this spec, Odoo starts and is usable for a single developer or for testing purposes. It is not suitable for production with real users. PostgreSQL and Odoo share these resources, leaving very little headroom.
| Environment | CPU Cores | RAM | Disk | Use Case |
|---|---|---|---|---|
| Minimum (Dev/Test) | 1 | 1GB | 20GB SSD | Single developer, testing |
| Recommended Small | 2 | 4GB | 40GB SSD | 1–15 users, small business |
| Recommended Medium | 4 | 8GB | 80GB SSD | 15–50 users |
| Recommended Large | 8 | 16GB | 160GB SSD | 50–150 users |
| Enterprise | 16+ | 32GB+ | 500GB+ SSD | 150+ users, heavy modules |
Recommendations by User Count
| Concurrent Users | CPU | RAM | Workers | Example Provider | Approx. Cost |
|---|---|---|---|---|---|
| 1–5 | 2 cores | 2–4GB | 3–5 | Hetzner CAX11 | €3.79/mo |
| 5–15 | 2–4 cores | 4GB | 5–9 | Hetzner CAX21 | €7.49/mo |
| 15–40 | 4–8 cores | 8GB | 9–17 | Hetzner CAX31 | €15.49/mo |
| 40–100 | 8 cores | 16–32GB | 17+ | Hetzner CCX33 | €68.99/mo |
| 100+ | 16+ cores | 32GB+ | Dedicated PostgreSQL | Dedicated server | €100+/mo |
The RAM Formula for Odoo
RAM is the most critical resource for Odoo. The base Odoo process (with no workers, in development mode) uses approximately 400–600MB of RAM just to start. Each additional worker process uses roughly 150–250MB of RAM, depending on the modules loaded and the number of active models.
Use this formula to estimate RAM requirements:
RAM = 500MB (base) + (workers × 200MB) + 500MB (PostgreSQL) + headroom
For example, a server with 5 workers needs approximately: 500MB + (5 × 200MB) + 500MB = 2,000MB = ~2GB. Add at least 1GB of headroom for OS and system processes, bringing the practical minimum to 3GB for 5 workers. Rounding up to the next VPS tier (4GB) is strongly recommended for production stability.
Heavy modules — Manufacturing (MRP), Accounting with complex tax configurations, or large datasets in Inventory — can push per-worker RAM usage toward 300–400MB. If you run these modules, adjust upward.
The CPU Worker Formula for Odoo
Odoo's gevent-based multi-worker mode uses one long-polling worker plus multiple standard HTTP workers. The recommended formula from Odoo's own documentation is:
workers = (2 × CPU_cores) + 1
For a 2-core server: workers = (2 × 2) + 1 = 5. For a 4-core server: workers = (2 × 4) + 1 = 9. This formula represents the number of concurrent HTTP workers. Long-polling (chat, notifications) uses an additional dedicated worker. Set the worker count in your Odoo configuration file:
[options]
workers = 5
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 60
limit_time_real = 120
The memory limits prevent runaway workers from consuming all available RAM. The values above are in bytes: 2.5GB hard limit and 2GB soft limit per worker, which are reasonable starting points for a 4GB server.
Disk Space Requirements
Disk requirements for Odoo depend on the database size and the filestore (uploaded attachments, images). A rough formula:
- Base install: ~5GB for the Odoo Docker image and system
- Database: approximately 1GB per 100,000 records, but this varies significantly by module
- Filestore: depends entirely on your attachment volume — document-heavy deployments can accumulate gigabytes quickly
- Minimum for production: 20GB SSD, ideally 40GB+
Always store your Odoo filestore on a separate volume if your provider supports block storage expansion, and keep regular backups to off-server storage (S3, Hetzner Storage Box). This allows you to grow storage independently of the compute resources. For backup configuration, see our Hetzner deployment guide which covers Storage Box setup in detail.
PostgreSQL Requirements
PostgreSQL runs on the same server in typical small to medium deployments. It needs dedicated RAM for its shared_buffers and work_mem settings. A common rule of thumb: allocate 25% of total server RAM to PostgreSQL's shared_buffers. For a 4GB server, that is 1GB shared_buffers.
Relevant PostgreSQL settings for Odoo in /etc/postgresql/*/main/postgresql.conf:
shared_buffers = 1GB # 25% of RAM
effective_cache_size = 3GB # 75% of RAM
work_mem = 32MB # per sort operation
maintenance_work_mem = 256MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
For deployments above 50 users, consider separating PostgreSQL onto a dedicated server or using a managed database service. This allows you to scale the database layer independently and often improves query performance significantly.
Budget Hosting: Cheapest Providers for Odoo
If cost is the primary constraint, these providers offer the lowest prices for Odoo-capable servers:
| Provider | Entry Tier | Specs | Price | Notes |
|---|---|---|---|---|
| Hetzner | CAX11 | 2 vCPU ARM, 4GB RAM, 40GB | ~€3.79/mo | Best value, EU only |
| Contabo | Cloud VPS S | 4 vCPU, 8GB RAM, 200GB SSD | ~€5.99/mo | Good specs/price, EU + US |
| Vultr | Cloud Compute | 1 vCPU, 2GB RAM, 55GB SSD | $12/mo | Good global coverage |
| DigitalOcean | Basic Droplet | 1 vCPU, 2GB RAM, 50GB SSD | $12/mo | Best UX, $200 new account credit |
| OVHcloud | Starter | 2 vCPU, 2GB RAM, 20GB SSD | ~€3.50/mo | EU + global, less polished UI |
For the absolute lowest cost with acceptable production performance, Hetzner CAX11 is the community favorite. Contabo offers notably large resource allocations for the price but has historically had slower support response times. Vultr and DigitalOcean cost more per resource unit but offer better UX and global region availability.
Odoo Community vs Enterprise: Does It Affect Server Requirements?
Odoo Enterprise is not significantly heavier than Community from a server resource perspective. The base RAM footprint is similar. Where Enterprise does increase requirements is in specific modules: some Enterprise-only modules (like IoT, Field Service, or Sign) load additional dependencies. In practice, the server specs for Community and Enterprise are the same for a given user count — module selection matters more than the edition.
SSD vs HDD: Does Disk Type Matter?
Yes, significantly. PostgreSQL is heavily I/O-bound. HDD-based hosting will produce noticeably slower Odoo query performance — especially for list views, reporting, and search operations. Always use SSD or NVMe storage for production Odoo instances. Most modern VPS providers default to SSD storage, but verify before provisioning.
The Easy Way: Use DeployMonkey on Your Budget Server
Picking the right server specs is only half the equation — you also need to configure Docker, Nginx, SSL, workers, memory limits, and automated backups correctly. DeployMonkey handles all of this automatically when you connect your server. Whether you provision a €3.79/month Hetzner CAX11 or a $168/month DigitalOcean Premium Droplet, the setup process is the same: add the server to your dashboard, create an instance, and deploy.
The free DeployMonkey plan covers one server and one instance with no credit card. The Pro plan at $29/month handles unlimited servers and instances — so as your infrastructure grows, the platform cost remains flat. See the full Odoo hosting provider comparison to understand how different managed platforms stack up.
Ready to deploy Odoo on the right-sized server? Create a free DeployMonkey account — connect your server, choose your specs-appropriate Odoo version, and be running in minutes.