Railway

Deploy Odoo — Free Self-Hosted ERP & CRM on Railway

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

Deploy Odoo — Free Self-Hosted ERP & CRM on Railway

/var/lib/postgresql/data

Just deployed

/var/lib/odoo

Deploy and Host Odoo on Railway

Odoo ERP and CRM dashboard

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

ServicePurpose
OdooThe ERP/CRM application server — web client, app modules, and the admin UI on port 8069
PostgreSQL 17The Odoo database — all business data, records, and module config. Odoo requires PostgreSQL specifically
Filestore VolumePersistent 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

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

VariableRequiredDescription
HOST✅ Auto-injectedPostgreSQL private hostname via Railway reference variable
PORT (db)✅ Auto-injectedPostgreSQL port — 5432
USER✅ Auto-injectedPostgreSQL user from the Railway database service
PASSWORD✅ Auto-injectedPostgreSQL password via Railway reference variable
ADMIN_PASSWORD✅ RequiredOdoo master password — protects database creation and management
ODOO_DATABASERecommendedDefault database name to auto-create on first boot
LIST_DBOptionalSet to False in production to hide the database manager from public access
WORKERSOptionalNumber of Odoo worker processes — increase for higher concurrency
PROXY_MODERecommendedSet 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.shNetSuiteSAP Business One
Monthly cost~$5–15 flat~$72/userEnterprise contractEnterprise 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

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

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.


Template Content

More templates in this category

View Template
Instatic CMS - Postgres
Design, build and manage powerful static sites from state-of-the-art CMS

Core Web OÜ
2
View Template
Strapi
A popular self-hosted CMS

Milo
7.6K
View Template
WordPress with Redis
Deploy WordPress with MariaDB and Redis

Noor Adn
38