Deploy ERPNext
Open-source ERP: accounting, inventory, sales, HR, all in one service
Redis
Just deployed
/data
ERPNext
Just deployed
/home/frappe/frappe-bench/sites
MariaDB
Just deployed
/var/lib/mysql
Deploy and Host ERPNext on Railway
ERPNext is a free, open-source ERP system built on the Frappe framework. It covers accounting, invoicing, inventory, purchasing, sales, CRM, manufacturing, projects and HR in one web application, with role-based permissions, a REST API, customizable forms and reports, and background jobs for emails, reports and scheduled tasks.
About Hosting ERPNext
Hosting ERPNext means running several processes from the same code: the gunicorn web backend, an nginx front end that serves assets, a Node.js socketio server for realtime updates, background workers and a scheduler. They need MariaDB with utf8mb4 settings, Redis for cache and queues, and a shared sites folder holding the site config, encryption key and uploaded files. Upstream Docker setups share that folder between containers. Railway volumes attach to one service only, so this template runs every ERPNext process in a single service on one volume. On first start it creates the site and generates the Administrator password. On image upgrades it runs bench migrate.
Common Use Cases
- Accounting, invoicing and payments for small and mid-sized businesses
- Inventory, purchasing and sales order management for trading or manufacturing companies
- CRM, projects, timesheets and HR records kept in one system with a single login
Dependencies for ERPNext Hosting
- MariaDB 11.8 (database, with Frappe's utf8mb4 settings)
- Redis 7.4 (cache, background job queue and realtime events)
Deployment Dependencies
- ERPNext v16.54.0 release
- Official frappe/erpnext Docker image
- frappe_docker, the upstream container setup
- Start script used by this template
Implementation Details
The template has three services:
- ERPNext: the official
frappe/erpnext:v16.54.0image, pinned by digest, with a volume on/home/frappe/frappe-bench/sites. Its start command runs nginx onPORT, gunicorn, the socketio server, one worker for the long, default and short queues, and the scheduler. If one of them stops, the service restarts. - MariaDB: the official
mariadb:11.8image with a volume and a generated root password. - Redis: the official
redis:7.4-alpineimage with a volume, append-only persistence and a generated password.
After the deploy finishes, the first start takes about 3 to 10 minutes while the site is created. Until then the URL shows a "being set up" page. Then sign in as Administrator, using the ADMIN_PASSWORD value from the ERPNext service's Variables tab, and complete the setup wizard. Back up the ERPNext and MariaDB volumes before you change the image version.
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.
Template Content
