IceHrm is a comprehensive HRM software that enables companies to manage employee information, track attendance, handle leave requests, and streamline HR workflows.
| Employee Management | Company Structure |
|---|---|
![]() |
![]() |
Centralized employee records — personal details, job history, qualifications, documents and dependents — with a company structure you can browse as a list or an org chart.
| Apply and Track Leave | Team Leave Calendar |
|---|---|
![]() |
![]() |
Employees apply for leave and see their entitlement, pending and approved requests in one place; managers approve or reject from the same screen. Administrators define leave types, the leave period, the work week and public holidays, and can post manual leave adjustments. The calendar lays the whole team's absences across the month so clashes are obvious before anything is approved.
| Attendance | Overtime |
|---|---|
![]() |
![]() |
Punch in and out with a full attendance history per employee, and an overtime request and approval flow on top of it.
| Clients and Projects | Timesheets |
|---|---|
![]() |
![]() |
Track clients and projects, assign employees to them, and capture weekly timesheets with a per-project breakdown and an approval step.
| Employee Dashboard | Staff Directory |
|---|---|
![]() |
![]() |
Every employee gets their own dashboard — leave balances, upcoming holidays, pending requests — plus a searchable directory of colleagues.
💡 Prefer not to self-host? IceHrm is available as a fully managed service at icehrm.com — no installation or maintenance required.
|
Deploy for your organization ⬇️ |
Contribute or extend IceHrm ⬇️ |
Choose your deployment method:
|
Fastest way to get started Ideal for quick deployments and containerized environments. |
Traditional server deployment Full control over your environment and custom configurations. |
git clone https://github.com/gamonoid/icehrm.git
cd icehrm
docker compose up -d --buildThe build compiles the frontend assets inside the image, so the first run takes a
few minutes. When it finishes, IceHrm is at
http://localhost:5555 — sign in with admin / admin and
change that password before exposing the installation.
The stack is three containers: the application, a MySQL 8 database seeded from
docker/init.sql, and a worker for background jobs. Settings and uploads live in
named volumes (icehrm-app-data, icehrm-mysql-data) and survive a rebuild. To
change the port, base URL or database credentials, copy docker-prod.env.example
to .env first — see the Docker Quick Start Guide.
From v36, IceHrm updates itself. Administrators see a banner on the dashboard when
a newer release is published; the updater downloads it, backs the current version
aside before replacing anything, preserves app/config.php, app/data/ and any
extensions you installed yourself, and can roll back from the same screen if the
application does not come back.
|
⬇️ |
|
Link your installation to unlock extensions and receive updates. ⬇️ |
|
Expand IceHrm with powerful modules for your business needs. ➡️ Extension Installation Guide ⬇️ |









