
Deploy Horilla HR | (Just Updated) Open-Source HRMS Strangers Cannot Claim
Open-source HRMS: setup wizard sealed, admin seeded, uploads persist
postgres
Just deployed
/var/lib/postgresql
horilla
Just deployed
/app/media
Deploy and Host Horilla HR on Railway
Horilla is a free, open-source HR management system (HRMS) covering recruitment, onboarding, employee records, attendance, leave, payroll, assets, performance and helpdesk. This template deploys Horilla 2.0 with a PostgreSQL database, a persistent volume for uploaded documents, and an administrator account that is created for you at first boot.
About Hosting Horilla HR
Horilla is a Django application. It needs a PostgreSQL database, a writable media directory for uploaded files (contracts, avatars, payslips), static files collected at boot, and a WSGI server. This template runs Gunicorn with a single worker, because Horilla schedules background jobs in-process with APScheduler and additional workers would run every job more than once.
Two things matter on a public URL. First, Horilla ships a setup wizard whose account-creation
endpoint has no authentication, so on a stock deployment the first stranger who finds the URL can
create a superuser and sign in. This template blocks the setup routes entirely and seeds the
administrator from a per-deployment generated password instead. Second, MEDIA_ROOT must point at
the mounted volume, or every uploaded document disappears on the next redeploy. Both are handled
here, and the deployment refuses to start if the administrator password is empty or is one of the
well-known upstream defaults.
The administrator password is re-applied on every boot, so redeploying the service is a working password reset — Horilla's own recovery path is an emailed link, and a fresh deployment has no SMTP server configured.
Why Deploy Horilla HR 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 Horilla HR 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.
Common Use Cases
- Running HR operations for a small or mid-sized company without a per-seat SaaS subscription
- Recruitment and onboarding pipelines with candidate records and offer tracking
- Attendance, leave requests and payroll on a self-hosted instance you control the data of
- Employee self-service portal with documents, assets and performance reviews
Dependencies for Horilla HR
- PostgreSQL (included in this template)
- A persistent volume for uploaded media
Deployment Dependencies
- Horilla source: https://github.com/horilla-opensource/horilla
- Horilla documentation: https://www.horilla.com/docs/
Implementation Details
The administrator username defaults to admin; the password is generated per deployment and is
visible in the service variables as HORILLA_ADMIN_PASSWORD. Sign in at /login/.
Template Content
postgres
postgres:17.10-alpinePOSTGRES_DB
POSTGRES_USER
DEBUG
TIME_ZONE
HORILLA_ENV
HORILLA_ADMIN_USERNAME
