---
title: "Deploy Odoo"
description: "Self-host Odoo ERP & CRM free. No per-user fees. 50+ business apps."
category: "CMS"
url: https://railway.com/deploy/odoo-erp-crm
---

# Deploy Odoo

Self-host Odoo ERP & CRM free. No per-user fees. 50+ business apps.

**[Deploy Odoo on Railway](https://railway.com/template/odoo-erp-crm)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/odoo-erp-crm/manifest.json

- **Creator:** SilverBanana
- **Category:** CMS
- **Total deploys:** 8

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### Odoo https://res.cloudinary.com/h5kvzw/image/upload/v1712545183/odoo_logo_hfoisi.svg

- **Image:** odoo:19.0

## Documentation

# Deploy and Host Odoo on Railway

![Odoo ERP and CRM dashboard](https://odoocdn.com/openerp_website/static/src/img/assets/svg/odoo_logo.svg)

Odoo is the open-source business suite that runs your whole company from one platform — CRM,
Sales, Inventory, Accounting, HR, Manufacturing, eCommerce, Project, and 50+ integrated apps
with 16,000+ community modules. The **Community Edition is free and open-source (LGPL-3.0)** —
no per-user license, no feature upsells, no vendor lock-in. Your data lives in standard
PostgreSQL that you own.

Odoo Standard costs ~$31/user/month and Odoo.sh runs ~$72/user/month — a 25-user company pays
roughly **$1,765/month** on Odoo.sh. Self-hosted Community Edition on Railway costs ~$5–15/month
flat, no matter how many users you add.

---

## What This Template Deploys

| Service | Purpose |
|---|---|
| **Odoo** | The ERP/CRM application server — web client, app modules, and the admin UI on port `8069` |
| **PostgreSQL 17** | The Odoo database — all business data, records, and module config. Odoo requires PostgreSQL specifically |
| **Filestore Volume** | Persistent volume for uploaded documents, attachments, and product images — survives every redeploy |

Both services connect over Railway's private network. PostgreSQL credentials are injected
automatically. The filestore volume keeps attachments separate from the database for clean
backups and faster performance.

---

## About Hosting Odoo

Running Odoo in production requires a dedicated PostgreSQL database (Odoo only supports
PostgreSQL), a persistent filestore for attachments and images, a public HTTPS endpoint, and
careful worker configuration for performance. Self-hosting on a raw VPS means installing Odoo,
tuning PostgreSQL, configuring Nginx, managing SSL, and handling backups manually — typically
2–8 hours of setup plus 5–10 hours monthly maintenance.

Railway removes all of that. This template provisions Odoo connected to a managed PostgreSQL 17
instance over private networking, with a persistent filestore volume and automatic HTTPS. Your
business data and uploaded files survive every redeploy.

![Odoo app modules — CRM, Sales, Inventory, Accounting](https://www.odoo-bs.com/web/image/1597652-9ba09291/App%20Overview.webp)

Typical cost: **~$5–15/month** on Railway's Hobby plan for the full stack. Odoo.sh charges
~$72/user/month bundled with Enterprise licensing — a 25-user deployment is ~$1,765/month.
Self-hosted Community Edition on Railway carries no license fee and no per-user cost.

---

## Deploy in Under 5 Minutes

1. Click **Deploy on Railway** — Odoo and PostgreSQL build automatically (~3–5 minutes)
2. Database credentials are auto-injected via Railway reference variables
3. Open your Railway-assigned URL on port `8069` — the Odoo database manager loads
4. Set your master password, create your first database, and set the admin login
5. Install the apps you need (CRM, Sales, Inventory, Accounting) from the Apps menu

No SSH. No PostgreSQL tuning. No Nginx or SSL configuration.

---

## Common Use Cases

- **Self-hosted ERP without per-user fees** — run CRM, Sales, Inventory, and Accounting for
  your whole team at flat compute cost; Odoo Community has no $31–72/user/month license
- **Self-hosted alternative to Odoo.sh** — same Odoo, your infrastructure, your region, your
  cost; avoid Odoo.sh's per-worker and per-user surcharges that hit hard at scale
- **Free alternative to NetSuite or SAP for SMBs** — full ERP functionality at 70–90% lower
  cost than NetSuite, with no enterprise contract or implementation minimum
- **Open-source CRM for sales teams** — pipeline management, lead scoring, email integration,
  and quotations without Salesforce's per-seat pricing
- **Inventory and manufacturing management** — track stock across warehouses, manage BOMs and
  work orders, and automate purchase orders on infrastructure you control
- **eCommerce backend with integrated ERP** — run an Odoo online store wired directly to
  inventory, accounting, and CRM — no separate platform to sync

---

## Configuration

| Variable | Required | Description |
|---|---|---|
| `HOST` | ✅ Auto-injected | PostgreSQL private hostname via Railway reference variable |
| `PORT` (db) | ✅ Auto-injected | PostgreSQL port — `5432` |
| `USER` | ✅ Auto-injected | PostgreSQL user from the Railway database service |
| `PASSWORD` | ✅ Auto-injected | PostgreSQL password via Railway reference variable |
| `ADMIN_PASSWORD` | ✅ Required | Odoo master password — protects database creation and management |
| `ODOO_DATABASE` | Recommended | Default database name to auto-create on first boot |
| `LIST_DB` | Optional | Set to `False` in production to hide the database manager from public access |
| `WORKERS` | Optional | Number of Odoo worker processes — increase for higher concurrency |
| `PROXY_MODE` | Recommended | Set to `True` — required for correct HTTPS handling behind Railway's proxy |

> Set `ADMIN_PASSWORD` (the master password) before exposing your instance. After creating your
> database, set `LIST_DB=False` to hide the database manager from public visitors — a standard
> Odoo production hardening step.

---

## Odoo vs. Alternatives

| | Odoo Community (Railway) | Odoo.sh | NetSuite | SAP Business One |
|---|---|---|---|---|
| **Monthly cost** | ~$5–15 flat | ~$72/user | Enterprise contract | Enterprise contract |
| **25-user cost** | ~$5–15/mo | ~$1,765/month | $$$$ | $$$$ |
| **Per-user license** | ✅ None | ❌ Yes | ❌ Yes | ❌ Yes |
| **Open source** | ✅ LGPL-3.0 | ⚠️ Enterprise only | ❌ No | ❌ No |
| **Data ownership** | ✅ Your PostgreSQL | ⚠️ Odoo's GCP | ❌ Oracle cloud | ❌ SAP cloud |
| **Self-hostable** | ✅ Yes | ⚠️ PaaS only | ❌ No | ❌ No |
| **16,000+ modules** | ✅ Yes (OCA + store) | ✅ Yes | ⚠️ Limited | ⚠️ Limited |
| **Custom modules** | ✅ Full control | ✅ Yes | ⚠️ Restricted | ⚠️ Restricted |

---

## Dependencies for Odoo Hosting

- Railway account — Hobby plan (~$5–15/month) covers Odoo and PostgreSQL
- No license required — Odoo Community Edition is free under LGPL-3.0
- Optional: SMTP provider (Resend or Brevo) for outgoing email — quotations, invoices, alerts

### Deployment Dependencies

- [Odoo GitHub Repository](https://github.com/odoo/odoo) — Community Edition source
- [Odoo Documentation](https://www.odoo.com/documentation) — app and configuration reference
- [Odoo Community Association (OCA)](https://odoo-community.org/) — free community modules
- [Odoo Apps Store](https://apps.odoo.com/) — 16,000+ third-party modules
- [Railway Volumes Documentation](https://docs.railway.com/volumes) — filestore persistence

### Implementation Details

This template deploys Odoo Community Edition alongside Railway-managed PostgreSQL 17 over
private networking. Odoo requires PostgreSQL specifically — it does not support other databases.
The filestore (uploaded documents, attachments, product images) is stored on a persistent
volume separate from the database, which keeps backups clean and improves performance.

![Odoo CRM pipeline and sales view](https://odoocdn.com/web/image/25283210/helpdesk-1.png)

`PROXY_MODE=True` is set so Odoo correctly handles HTTPS behind Railway's proxy layer. The Odoo
database manager is exposed on first boot for initial setup — set `LIST_DB=False` after creating
your database to hide it in production. All business data persists in PostgreSQL and survives
every redeploy and version update.

---

## Frequently Asked Questions

**How much does self-hosted Odoo cost vs Odoo.sh?**
Odoo Community Edition is free — you pay only ~$5–15/month for Railway compute regardless of
user count. Odoo.sh charges ~$72/user/month bundled with Enterprise licensing; a 25-user
deployment runs roughly $1,765/month. Self-hosting on Railway eliminates both the per-user
license and the per-worker hosting surcharge.

**What's the difference between Odoo Community and Enterprise?**
Community Edition (LGPL-3.0, free) includes core apps: CRM, Sales, Invoicing, Inventory,
Accounting, Project, and more. Enterprise adds Studio (no-code customization), multi-company,
barcode scanning, full accounting automation, and official support — for a per-user fee. This
template deploys Community Edition, which covers the needs of most small and mid-sized teams.

**Does Odoo require PostgreSQL specifically?**
Yes. Odoo only supports PostgreSQL — it will not run on MySQL, MariaDB, or any other database.
This template provisions a managed PostgreSQL 17 instance automatically, pre-wired to Odoo over
Railway's private network.

**Do I lose my business data if Railway redeploys?**
No. All business records are stored in the Railway-managed PostgreSQL database, and uploaded
files live on the persistent filestore volume. Redeploys, updates, and restarts do not affect
your data.

**Can I install custom modules and OCA community apps?**
Yes. Community Edition gives you full access to install any module — the 16,000+ apps in the
Odoo store and the free Odoo Community Association (OCA) catalog. Add modules to the addons
path and restart the service.

**How do I send email from Odoo (quotations, invoices)?**
Configure an outgoing mail server in Odoo settings. On Railway's Hobby plan raw SMTP is blocked,
so use an HTTPS-based provider like Resend or Brevo (both have free tiers) as your SMTP relay.

---

## Why Deploy and Host Odoo on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your
infrastructure so you don't have to deal with configuration, while allowing you to vertically
and horizontally scale it.

By deploying Odoo on Railway, you get a complete open-source ERP and CRM — CRM, Sales,
Inventory, Accounting, and 50+ apps with PostgreSQL and persistent filestore — at ~$5–15/month
flat, with no per-user license fees and full ownership of your business data.

## Similar templates

- [Libredesk - Complete Setup](https://railway.com/deploy/libredesk-complete-setup) — Complete self-hosted omnichannel customer support desk.
- [Paperless-ngx](https://railway.com/deploy/paperless-ngx-3) — Paperless-ngx — document management with OCR and full-text search
- [Instatic CMS - Postgres](https://railway.com/deploy/instatic-cms-postgres) — Design, build and manage powerful static sites from state-of-the-art CMS

Open this page in a browser: https://railway.com/deploy/odoo-erp-crm
