Skip to content

Self-host Odoo

updated Aug 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

Odoo Community Edition is an open-source ERP suite — invoicing, inventory, manufacturing, CRM, employees and website/e-commerce are all separate apps within one platform, with CRM as just one of those modules rather than a standalone product (full Accounting and Payroll are Enterprise-only). 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.

Salesforce / yr$300
Self-hosted / yr~$283
You keep$17/yr
Pocket the difference — spin it up on a cheap VPS in minutes.Start free on Kamatera → (opens in new tab)

Key facts

CategoryERP
LicenseLGPL-3.0
StackPython, PostgreSQL, JavaScript
Min RAM2048 MB
Official imageyes
Measured idle RAM106 MB
Difficulty
Our recommendation

Choose Odoo when you want CRM as one module inside a full open-source ERP — inventory, invoicing, 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
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

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:8069

What you take on

Odoo's Community/Enterprise split is the first thing to get straight, and its size is the second:

non-negotiableCommunity Edition is not the whole product. Some things you might expect — advanced accounting, the Studio customization tool, and a chunk of the app marketplace — are Enterprise-only and proprietary, not part of the free, self-hostable LGPL-3.0 Community Edition. Check the specific modules you need against Odoo's own edition-comparison page before assuming they're free.
non-negotiableIt's a full ERP, not a lightweight CRM. Running Odoo means running its whole framework — expect it to be resource-heavier than a single-purpose CRM like EspoCRM or Vtiger, since you're carrying every module's overhead even if you only use the CRM one.
non-negotiableThe learning curve reflects the scope. Odoo's data model and admin surface cover an entire business, not just a sales pipeline — budget real time to configure it correctly rather than expecting a five-minute setup.

An alternative to

Head-to-head

More self-hosted tools

ERP

ERPNext

ERPNext is a GPL-3.0 open-source ERP from Frappe covering accounting, order management and inventory, manufacturing, asset management and projects, built on the MIT-licensed Frappe Framework. There is no paid edition of the software — Frappe sells managed hosting (Frappe Cloud), not features. HR and payroll live in a separate GPL-3.0 app, Frappe HR. It self-hosts through the official frappe_docker stack: MariaDB, two Redis instances, the web backend, background workers, a scheduler and a websocket service.
PythonFrappe FrameworkMariaDBRedis
hardRead guide →
Error tracking

GlitchTip

An open-source, Sentry-compatible error tracking server — your apps keep using the official Sentry SDKs, but the exceptions, stack traces, and alerts land on your own lightweight Django instance.
PythonDjangoAngular
moderateRead guide →
Home automation

Home Assistant

The open-source hub for home automation — local control of thousands of smart devices, with automations that run entirely on your own hardware.
Python
moderateRead guide →
Team chat

Mattermost

A polished, Slack-style team chat you fully own — channels, threads, DMs, integrations, and a solid mobile app. The go-to self-hosted Slack replacement for teams that want their messages on their own server. The default Docker image is the Enterprise build: without a licence it runs as the free Entry edition, which keeps only the latest 10,000 channel messages. Set MATTERMOST_IMAGE=mattermost-team-edition in .env for the MIT-licensed Team Edition.
GoReactPostgreSQL
moderateRead guide →

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.