Odoo Pricing: Managed vs Self-Hosted
The cheapest managed Odoo starts at about $389/month. Self-hosted, this stack measures 3 GiB across 2 services, which fits a $25/month flat plan with room left over.
#the numbers
Managed prices as of June 2026, each linked to its source. The self-hosted row is not an estimate: the RAM figure is what this stack allocates in its compose file, and the plan is the smallest one that holds it.
| Option | Plan | Monthly | What you get |
|---|---|---|---|
| Self-hosted on Miget ★ | 4 GiB, 2 vCPU | $25 | the whole stack, flat - no per-user or per-request metering, and the plan holds your other apps too |
| Odoo Online | Standard | ~$389 | $38.90/user/mo (monthly) at 10 users; $31.10 annual |
| Odoo Online | Custom | ~$762 | $76.20/user/mo at 10 users - adds Studio, multi-company, external API |
Community self-hosted is unlimited users; you trade Enterprise-only apps and official support for a flat plan.
#the difference, plainly
$364/month, or about 94%, against the cheapest managed tier - $4368 over a year. Worth stating what that money buys and what it costs, because the honest answer is not "it is just cheaper".
- You gain a bill that does not move with usage, no execution or seat metering, and root on your own data.
- You gain spare capacity: the plan is sized for this stack, and anything else you deploy inside it is free.
- You take on upgrades, backups and the pager. Managed services charge for exactly that, and for some teams it is worth every dollar.
- You should not switch for the saving alone if your team has nobody who wants to own it.
#what it costs on other platforms
Same stack, published rates elsewhere - estimates from each platform's own pricing page, not quotes. Per-service platforms are the expensive case here, because every container in this stack is its own paid service.
| Platform | Estimated monthly | Why |
|---|---|---|
| Miget ★ | $25 | flat plan, 4 GiB - databases included, no meters |
| Heroku | ~$150 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| Render | ~$42 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| DO App Platform | ~$41 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Railway | ~$33 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$20 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
#sizing, if you outgrow the small plan
The $25 plan is the smallest that fits. For production traffic you generally want the next tier up, and dedicated vCPU if the workload is CPU-bound rather than idle-waiting.
| Use case | Plan | Monthly |
|---|---|---|
| Fits the stack | 4 GiB, 2 vCPU shared | $25 |
| Comfortable, room for your own apps | 8 GiB, 4 vCPU shared | $49 |
| Dedicated vCPU (production) | 4 GiB, 2 vCPU dedicated | $43 |
Odoo is RAM-hungry: 2 GiB+ is the realistic floor. Kept in threaded mode (workers=0) so it stays on one public port; heavy multiprocessing needs a two-port proxy, out of scope here.
Run Odoo yourself
The compose file is open source and runs locally with docker compose up. One step to deploy it to
Miget on the $25/month plan, databases included.