Deploy ERPNext

Deploy and Host ERPNext with Railway

Deploy ERPNext

erpnext

pipech/erpnext-docker-debian

Just deployed

/home/frappe/bench/sites

mariadb

mariadb:10.6

Just deployed

/var/lib/mysql

redis-queue

redis:6.2-alpine

Just deployed

/data

redis-cache

redis:6.2-alpine

Just deployed

Deploy and Host ERPNext on Railway

What is ERPNext?

ERPNext is a free, open-source ERP (Enterprise Resource Planning) system designed for small and medium businesses. Built on the Frappe framework, it provides integrated modules for accounting, HR, CRM, inventory, manufacturing, and project management.

About Hosting ERPNext

Hosting ERPNext involves deploying the Frappe framework along with its essential services: MariaDB for data storage, Redis for caching and queuing, and a reverse proxy like Nginx. On Railway, you can containerize ERPNext, configure environment variables, and attach persistent storage volumes for durability.

Common Use Cases

  • Running a centralized ERP system for small to mid-sized companies.

Deployment Guide

  1. Deploy this template to Railway.
  2. Execute into the ERPNext service using Railway’s shell or CLI.
  3. Run the setup script inside the ERPNext service (this will create new-site and install ERPNext apps):
    su frappe -c "/home/$systemUser/$benchFolderName/railway-setup.sh"
    
  4. Exit the service once the script completes.
  5. Remove the default start command in ERPNext service.
  6. Set the HTTP port to 80 in ERPNext service configuration.
  7. Redeploy the project to finalize the setup.

Dependencies for ERPNext Hosting

  • MariaDB – Database backend.
  • Redis – Caching and job queue management.

Deployment Dependencies

Why Deploy ERPNext 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 ERPNext on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

FAQ / Limitation

Q: Why is Supervisor used?

A: Railway currently limits each volume to a single service. Since multiple ERPNext services need to access the same volume, Supervisor is required to coordinate and share volumes across services.

Ref: https://station.railway.com/feedback/shared-volumes-a4053215

Q: Why isn’t site creation automated during the first service startup?

A:

  • Reduces potential errors during setup.
  • These are foundational steps that service maintainers should understand and be comfortable with (e.g., executing into the container, running bench commands).

Q: Shouldn't HTTP port 80 set via template?

A: Due to a Railway limitation, there is currently no way to predefine the port of a public URL within a template.

Ref: https://station.railway.com/questions/how-to-set-template-public-url-port-d4cbb1b8


Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

View Template
peppermint
Docker-compose port for peppermint.sh