Self-host Odoo
ERPOdoo Community Edition is a full open-source ERP suite — accounting, inventory, manufacturing, HR, and website/e-commerce are all separate apps within one platform, with CRM as just one of those modules rather than a standalone product. Odoo also sells proprietary Enterprise modules and managed hosting; only the LGPL-3.0 Community Edition is covered here. It runs on the official Docker image with a PostgreSQL backend.
Key facts
Choose Odoo when you want CRM as one module inside a full open-source ERP — inventory, accounting, HR, and more, all sharing one data model — not when you just want a CRM. The self-hostable Community Edition is genuinely capable, but it's a full business suite under the hood, so expect a heavier box and a longer learning curve than a single-purpose CRM like EspoCRM or Twenty.
What you need
- Any VPS with at least 2048 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- About an afternoon — budget time for troubleshooting
Install with Docker Compose
Save this as compose.yml and run docker compose up -d:
# Odoo — official odoo Docker image (Community Edition) + Postgres
services:
web:
image: odoo:18.0
depends_on:
- db
ports:
- "8069:8069"
volumes:
- odoo-web-data:/var/lib/odoo
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=odoo
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- odoo-db-data:/var/lib/postgresql/data/pgdata
volumes:
odoo-web-data:
odoo-db-data:
# docker compose up -d → http://SERVER_IP:8069What you take on
Odoo's Community/Enterprise split is the first thing to get straight, and its size is the second: