Railway

Deploy OrangeHRM | Free Open-Source HR Management

Self Host OrangeHRM: employee records, leave tracking, recruitment, & more

Deploy OrangeHRM | Free Open-Source HR Management

Just deployed

/var/lib/mysql

Just deployed

/orangehrm

OrangeHRM logo

Deploy and Host OrangeHRM on Railway

Deploy OrangeHRM on Railway to get a fully self-hosted human resource management system running in minutes. OrangeHRM is the world's most popular open-source HR software, handling everything from employee records and leave management to recruitment and performance reviews.

This Railway template pre-configures OrangeHRM with a MySQL database, persistent storage for uploads, and a public domain — ready for the guided setup wizard that creates your admin account and initializes the database on first visit.

Getting Started with OrangeHRM on Railway

After deployment completes, open your Railway-generated public URL. OrangeHRM redirects to the installation wizard automatically. Accept the license agreement, then on the database configuration step select Existing Empty Database — the connection details are pre-filled from environment variables. Create your admin account with a strong password, enter your organization name, and click Install. The wizard runs database migrations and drops you at the login screen. Sign in with your new admin credentials and navigate to the Admin module to configure your company structure, job titles, and pay grades.

OrangeHRM dashboard screenshot

About Hosting OrangeHRM

OrangeHRM is a comprehensive Human Resource Management System released under the GPL-3.0 license. It provides a modular platform where organizations pick the HR functions they need without paying for features they don't.

  • Employee Information Management — centralized database of personnel details, job histories, emergency contacts, and custom fields
  • Leave & Time Tracking — automated PTO requests, approval workflows, attendance tracking with configurable leave types
  • Recruitment (ATS) — job postings, applicant tracking, resume management, and interview scheduling
  • Performance Management — 180° reviews, goal setting, evaluation cycles, and development plans
  • Reporting & Analytics — pre-built and custom reports on attendance, turnover, demographics, and workforce planning
  • Mobile Apps — iOS and Android apps for employee self-service on the go

Why Deploy OrangeHRM on Railway

  • One-click deploy with MySQL and persistent storage pre-configured
  • No server administration — Railway handles scaling, TLS, and uptime
  • Full data ownership with self-hosted deployment behind your own domain
  • Open-source GPL-3.0 license with zero licensing fees
  • Guided setup wizard gets you operational in under five minutes

Common Use Cases for Self-Hosted OrangeHRM

  • SMB HR digitization — replace spreadsheets with a proper HRIS for companies with 20–500 employees
  • Leave and attendance automation — eliminate manual PTO tracking with approval workflows and calendar integration
  • Recruitment pipeline management — track applicants from job posting through interview to offer using the built-in ATS
  • Compliance and record-keeping — maintain auditable employee records for labor law compliance across jurisdictions

Dependencies for OrangeHRM on Railway

This template deploys two services:

  • OrangeHRMorangehrm/orangehrm:latest — PHP 8.3 + Apache web application
  • MySQLmysql:9.4 — Railway-managed relational database with persistent volume

Environment Variables Reference for OrangeHRM

VariableDescriptionExample
ORANGEHRM_DATABASE_HOSTMySQL hostname (internal)${{MySQL.RAILWAY_PRIVATE_DOMAIN}}
ORANGEHRM_DATABASE_USERDatabase user${{MySQL.MYSQLUSER}}
ORANGEHRM_DATABASE_PASSWORDDatabase password${{MySQL.MYSQLPASSWORD}}
ORANGEHRM_DATABASE_NAMEDatabase name${{MySQL.MYSQL_DATABASE}}
PORTHTTP listening port80

Deployment Dependencies

Hardware Requirements for Self-Hosting OrangeHRM

ResourceMinimumRecommended
CPU1 vCPU2 vCPUs
RAM256 MB1 GB
Storage1 GB5 GB+
RuntimePHP 8.1+, MySQL 5.7+PHP 8.3, MySQL 8.0+

OrangeHRM is a lightweight PHP application. Resource needs grow primarily with the number of concurrent users and stored documents rather than employee count.

Self-Hosting OrangeHRM with Docker

Pull and run OrangeHRM alongside MySQL using Docker Compose:

version: "3.8"
services:
  orangehrm:
    image: orangehrm/orangehrm:latest
    ports:
      - "8080:80"
    environment:
      - ORANGEHRM_DATABASE_HOST=db
      - ORANGEHRM_DATABASE_USER=orangehrm
      - ORANGEHRM_DATABASE_PASSWORD=changeme
      - ORANGEHRM_DATABASE_NAME=orangehrm
    volumes:
      - orangehrm_data:/orangehrm
    depends_on:
      - db

  db:
    image: mysql:9.4
    environment:
      - MYSQL_ROOT_PASSWORD=changeme
      - MYSQL_DATABASE=orangehrm
      - MYSQL_USER=orangehrm
      - MYSQL_PASSWORD=changeme
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  orangehrm_data:
  mysql_data:

Start the stack and access the installer:

docker compose up -d
# Open http://localhost:8080 to complete the setup wizard

How Much Does OrangeHRM Cost to Self-Host?

OrangeHRM Starter is completely free and open-source under the GPL-3.0 license. There are no licensing fees, no per-user charges, and no hidden costs. The paid Advanced edition adds enterprise features like API access, advanced reporting, and priority support — pricing is available on request from OrangeHRM Inc. When self-hosting on Railway, your only cost is infrastructure — typically a few dollars per month for a small team.

OrangeHRM vs BambooHR

FeatureOrangeHRMBambooHR
LicenseGPL-3.0 (free)Proprietary
PricingFree (Starter)From $250/month
Self-hostedYesNo (SaaS only)
Employee managementYesYes
Leave managementYesYes
Recruitment (ATS)YesYes
Performance reviews180°360°
PayrollNo (Advanced only)Yes
API accessAdvanced onlyYes
Mobile appsYesYes

OrangeHRM is the best choice for organizations that need data sovereignty, want to avoid per-user SaaS fees, or require deep customization through source code access. BambooHR offers a more polished out-of-the-box experience with payroll integration for teams willing to pay the premium.

FAQ

What is OrangeHRM and why self-host it? OrangeHRM is an open-source human resource management system covering employee records, leave tracking, recruitment, performance reviews, and reporting. Self-hosting gives you full control over sensitive employee data, eliminates per-user SaaS costs, and lets you customize the platform through its GPL-3.0 licensed source code.

What does this Railway template deploy for OrangeHRM? This template deploys the OrangeHRM PHP application with Apache and a MySQL 9.4 database. Both services are pre-wired — OrangeHRM connects to MySQL over Railway's private network. A persistent volume stores uploaded files and configuration.

Why does OrangeHRM need a MySQL database on Railway? OrangeHRM stores all employee records, leave balances, recruitment data, and configuration in MySQL. The Railway-managed MySQL service comes with automatic backups, persistent storage, and secure internal networking — no external database setup required.

How do I enable LDAP or SSO authentication in self-hosted OrangeHRM? LDAP integration is available in the OrangeHRM Advanced edition. For the Starter (open-source) edition, authentication is handled through OrangeHRM's built-in user management system with role-based access control for Admin, ESS (Employee Self-Service), and Supervisor roles.

Can I migrate from another HR system to OrangeHRM on Railway? Yes. OrangeHRM supports CSV import for employee data through the Admin module. Export your existing records from your current HR system, format them according to OrangeHRM's import template, and upload through the web interface. Database-level migration is also possible by connecting directly to the MySQL service via its public TCP proxy.

How do I update OrangeHRM to a newer version on Railway? The template uses the orangehrm/orangehrm:latest tag. To update, trigger a redeploy from the Railway dashboard — it pulls the latest image automatically. Your data persists in the MySQL database and the /orangehrm volume across redeploys.


Template Content

More templates in this category

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

Lucas
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

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

Shahed Nasser