Как запустить собственную HR-систему на Django без лишней головной боли
Знакомая история: компания растет, и в какой-то момент Excel-таблички со списком сотрудников начинают рассыпаться. Кто-то ушел в отпуск и забыл отметить, кто-то потерял оффер, а расчет зарплаты превращается в детективное расследование. Обычно в этот момент бизнес идет покупать тяжеловесные SaaS-решения, которые стоят как крыло самолета и требуют полгода на внедрение. Но есть и другой путь — поднять свое решение на знакомом стеке.
Недавно наткнулся на Horilla. Это open-source HRMS (система управления человеческими ресурсами), написанная на Python и Django. Ребята из Cybrosys Technologies решили выложить в паблик довольно крепкий инструмент, который закрывает почти все базовые потребности отдела кадров.
Что внутри Horilla
Проект не пытается казаться «революционным», он просто берет стандартные процессы и автоматизирует их. Если заглянуть в репозиторий, сразу видно, что это классическое Django-приложение со всеми вытекающими плюсами: предсказуемая структура, легкая кастомизация и возможность быстро прикрутить что-то свое.
Вот что система умеет из коробки:
- Рекрутинг и онбординг. Можно вести кандидата от первого касания до выхода на работу. Это удобнее, чем хранить резюме в почте или мессенджерах.
- Учет рабочего времени и отпусков. Есть трекинг посещаемости. Кстати, в тегах проекта упоминается биометрия — видимо, можно интегрировать внешние сканеры.
- Управление активами. Полезная штука, чтобы не забыть, кому выдали корпоративный ноутбук или монитор.
- Расчет зарплаты (Payroll). Пожалуй, самая чувствительная часть. В Horilla есть база для настройки расчетных листов, хотя под специфику налогов конкретной страны, скорее всего, придется немного подкрутить логику.
- Helpdesk. Внутренняя система тикетов для сотрудников. Если сломался принтер или нужен доступ к серверу, это фиксируется здесь же.

Технический стек и архитектура
Разработчики выбрали проверенные временем инструменты. Основной язык — Python, фреймворк — Django. Для фронтенда используются Bootstrap и jQuery, а динамику местами подтягивает HTMX. Это хороший выбор для корпоративного софта: порог входа низкий, а поддерживать код сможет любой Django-разработчик.
В качестве основной базы данных авторы рекомендуют PostgreSQL. В репозитории есть Docker-образ, что сильно упрощает первый запуск, если не хочется возиться с настройкой окружения вручную.
Как это развернуть у себя
Процесс установки стандартный для Django-проектов. Сначала нужно подготовить базу в PostgreSQL:
CREATE ROLE horilla LOGIN PASSWORD 'horilla';
CREATE DATABASE horilla_main OWNER horilla;
Затем клонируем репозиторий и настраиваем виртуальное окружение. Не забудьте переименовать .env.dist в .env и прописать там свои доступы к БД и SECRET_KEY.
Интересный момент: в проекте предусмотрена команда для компиляции переводов. Это значит, что локализация вынесена по всем канонам Django:
python3 manage.py compilemessages
При первом запуске по адресу http://localhost:8000 система предложит два варианта: инициализировать пустую базу (создать админа, головной офис и департаменты) или загрузить демо-данные. Для первого знакомства советую выбрать демо — так сразу станет понятно, как выглядят заполненные графики и отчеты.

Кому это пригодится
Я вижу несколько сценариев использования этого проекта.
Во-первых, это отличный вариант для средних компаний, которым нужно «свое» решение с полным контролем над данными. Вы можете развернуть Horilla на собственном сервере и быть уверенными, что список сотрудников не утечет из облачного сервиса.
Во-вторых, проект интересен как база для кастомной разработки. Если вам нужно написать специфическую HR-систему, проще взять Horilla за основу и допилить нужные модули, чем писать всё с нуля — от авторизации до генерации PDF-отчетов.
Из минусов: документация в самом README сосредоточена в основном на установке. Чтобы разобраться в логике работы отдельных модулей, придется лезть в код. Но, учитывая около 1.2k звезд на GitHub, сообщество вокруг проекта живое, и в дискуссиях можно найти ответы на многие вопросы.
Что в итоге
Horilla — это добротный рабочий инструмент. В нем нет лишнего пафоса, зато есть понятный код и закрытые базовые потребности бизнеса. Если вы ищете open-source альтернативу коммерческим HRMS или просто хотите посмотреть, как устроены крупные Django-проекты, загляните в их репозиторий.
В планах у разработчиков значатся календарь, таск-менеджер и внутренний чат. Если они это реализуют, получится полноценный корпоративный портал. Но даже в текущем виде проект выглядит вполне зрелым для использования.
