Horilla HRMS
[!IMPORTANT]
2.0is now this repository’s default branch. Use it to run or deploy Horilla (a plaingit clonechecks it out). To contribute code, branch from and open PRs againstdev/v2.0— GitHub still pre-selects2.0as the PR base, so switch it manually. v1 (1.0/master) is deprioritized, with fixes considered case-by-case rather than on a guaranteed schedule. Full details → Discussion #1127.
A comprehensive, free, and open-source Human Resource Management System (HRMS) designed to streamline HR operations and enhance organizational efficiency.
🚀 Features
Core HR Modules
- 👥 Employee Management - Centralized workforce data with LDAP integration
- 🎯 Recruitment - End-to-end hiring process from job posting to onboarding
- 📋 Onboarding & Offboarding - Structured workflows for employee lifecycle
- ⏰ Attendance & Time Tracking - Biometric integration and automated check-in/out
- 🏖️ Leave Management - Policy enforcement, approvals, and balance tracking
- 💰 Payroll - Automated salary processing, tax calculations, and compliance
- 📊 Performance Management - Goal setting, reviews, and continuous feedback
- 🏢 Asset Management - Track and manage company resources
- 🎫 Helpdesk - Centralized HR support and ticketing system
📋 Table of Contents
🌳 Which Branch Do I Want?
2.0(default) — the latest stable v2 snapshot. This is what a plaingit clonegives you. Use it to run or deploy Horilla.dev/v2.0— the active integration branch. If you want to contribute code, branch from and open PRs against this, not2.0.1.0/master— v1, now deprioritized (fixes considered case-by-case, no guaranteed schedule). Not deleted, but no longer where active development happens.
See Discussion #1127 for full background on this transition.
⚡ Quick Start
Using the official Docker image (Recommended)
Published for linux/amd64 and linux/arm64 as
horilla/horilla-hr:
docker pull horilla/horilla-hr:2.1.5
Pin an exact version in production rather than latest, so a deploy cannot
pick up a new release unattended; see
all tags for the current
one. The
repository overview documents
every environment variable, the volumes to back up, and a working Compose file.
First boot applies the full migration set before the web server binds, which takes a few minutes on an empty database.
Building from source with Docker
# Clone the repository (defaults to the stable 2.0 branch)
git clone https://github.com/horilla/horilla-hr.git
cd horilla-hr
# Start with Docker Compose
docker compose up -d
# Access the application
open http://localhost:8000
Full Docker guide, including production deployment: docker/README.md
Manual Installation
Requires Python 3.12, 3.13 or 3.14, and pip 21.3 or newer. Python 3.15 is
not usable yet: spacy declares Requires-Python **Note:** 2.0is the repo default, so GitHub pre-selects it as your PR base. Before submitting, change the base branch todev/v2.0— that's where active development and reviews happen, not2.0`.
Code Standards
- Follow PEP 8 for Python code
- Use Black for code formatting
- Write tests for new features
- Update documentation for user-facing changes
🔒 Security
Security Features
- 🔐 Authentication & Authorization - Role-based access control
- 🛡️ Data Protection - Encrypted sensitive data storage
- 🔍 Audit Trails - Comprehensive activity logging
- 🚫 Input Validation - XSS and injection protection
- 🔒 Session Security - Secure session management
Reporting Security Issues
Please report security vulnerabilities via GitHub Private Vulnerability Reporting, not email. Do not create public GitHub issues for security vulnerabilities. See SECURITY.md for full details.
Security Best Practices
- Always use HTTPS in production
- Regularly update dependencies
- Use strong passwords and enable 2FA
- Monitor logs for suspicious activities
📞 Support
Community Support
- 📖 Documentation: docs.horilla.com
- 💬 GitHub Discussions: GitHub Discussions
- 🐛 Bug Reports: GitHub Issues
- ✨ Feature Requests: GitHub Issues
Professional Support
For enterprise support, custom development, and consulting services:
- 📧 Email: [email protected]
- 🌐 Website: www.horilla.com
📄 License
This project is licensed under the LGPL-2.1 License - see the LICENSE file for details.
Made with ❤️ by the Horilla Team