Horilla is a free, open source human resources (hr) project written in HTML and released under LGPL-2.1. It has 1,425 GitHub stars, 915 forks and 120 open issues, and was last pushed 10 hours ago. On this registry it ranks #3 of 4 tracked projects in Human Resources (HR), with 5 head-to-head comparisons available. It gained 20 stars over the last 6 tracked days.

What is Horilla?

What it is

Horilla is an open-source Human Resource Management System, or HRMS, built with Django, HTML, JavaScript, jQuery, and HTMX. It lives in the Python and Django ecosystem and is distributed under the LGPL-2.1 license. The project presents itself as a comprehensive HR platform for managing employee records, recruitment, onboarding, attendance, leave, payroll, performance, assets, and helpdesk workflows in one application.

The concrete problem it solves is that HR operations are spread across many functions, such as attendance, leave, hiring, payroll, performance, assets, and employee support. Horilla aims to centralize those functions so HR teams can run the employee lifecycle from job posting through onboarding, daily time and leave management, payroll processing, and offboarding in a single system.

Key capabilities

  • Employee management stores centralized workforce data and supports LDAP integration.
  • Recruitment covers the hiring process from job posting to onboarding.
  • Attendance and time tracking supports biometric integration and automated check-in or check-out.
  • Leave management enforces policies, handles approvals, and tracks balances.
  • Payroll automates salary processing, tax calculations, and compliance-related steps.
  • Performance management supports goal setting, reviews, and continuous feedback.
  • Asset management and helpdesk track company resources and provide ticketing for HR support.

Who uses it and how

  • HR teams use it to manage employee records, hiring pipelines, onboarding, and offboarding workflows.
  • Operations teams use attendance, biometrics, leave approvals, and payroll modules for daily workforce administration.
  • Managers use performance goals, reviews, feedback, and analytics topics to monitor employee progress.
  • Self-hosted deployments use Docker or Docker Compose to run the application locally or on a server.
  • Contributors use GitHub branches for deployment and development, with 2.0 as the stable default and dev/v2.0 for pull requests.

Getting started

Typical installation uses the official Docker image horilla/horilla-hr, with production deployments pinning an exact tag such as 2.1.5 rather than latest. Manual installation requires Python 3.12, 3.13, or 3.14, pip 21.3 or newer, and Django 5.0 or newer, and production deployment guides mention Nginx, Apache, Gunicorn, and cloud platforms.

When to use it — and when not to

Horilla is suitable for organizations that want a self-hosted, open-source HRMS in the Django ecosystem, especially when they need combined attendance, leave, payroll, recruitment, and performance modules. It is less suitable for teams that want a fully managed hosted service, because the README indicates self-hosting responsibilities including Docker deployment, database migrations, backup volumes, environment variables, and web server setup. A current weakness is the branch transition and project maturity: the repository age is listed as 0 years, v1 is deprioritized, contributors must manually switch the pull request base to dev/v2.0, and Python 3.15 is not usable yet.

project readme (upstream, from github) — read inline

Horilla HRMS

License: LGPL v2.1 Python Django Stars Forks

[!IMPORTANT] 2.0 is now this repository’s default branch. Use it to run or deploy Horilla (a plain git clone checks it out). To contribute code, branch from and open PRs against dev/v2.0 — GitHub still pre-selects 2.0 as 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 plain git clone gives 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, not 2.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

Professional Support

For enterprise support, custom development, and consulting services:

📄 License

This project is licensed under the LGPL-2.1 License - see the LICENSE file for details.

Made with ❤️ by the Horilla Team

⭐ Star us on GitHub | 🐛 Report Bug | 💡 Request Feature

Frequently asked questions

Is Horilla free to use?

Horilla is open source under the LGPL-2.1 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Horilla do?

Comprehensive open-source HR management solution

What is Horilla written in?

Horilla is primarily written in HTML. Its source is publicly available at https://github.com/horilla-opensource/horilla, and it has 1,425 GitHub stars.