Icehrm
Manage your employees easily with a robust and efficient Human Resource Management System
Install / Use
/learn @gamonoid/IcehrmREADME
IceHrm
IceHrm is an HRM software which enable companies to manage employee details and HR workflows.
Installation
Setup a Linux Server and Install IceHrm
- Please check Installation guide.
Installation using Docker
Prerequisites
Install Docker on your system. See Docker Installation Guide for detailed instructions for macOS, Windows, and Linux.
Quick Start (Production)
# Clone the repository
git clone https://github.com/gamonoid/icehrm.git
cd icehrm
# Build and start IceHrm
docker compose -f docker-compose-prod.yaml up -d --build
Visit http://localhost:5555 and login with username admin and password admin.
Note: The Docker build automatically runs npm install and npm run asset:build:prod to compile frontend assets. The first build may take a few minutes.
Configuration (Optional)
To customize your installation, create a .env file:
cp docker-prod.env.example .env
Edit .env to change settings:
# Port where IceHrm will be accessible
APP_PORT=5555
# Base URL (change for production domain)
APP_BASE_URL=http://localhost:5555
# Database credentials (change these in production!)
DB_HOST=mysql
DB_NAME=icehrm
DB_USER=icehrm
DB_PASSWORD=your_secure_password
DB_ROOT_PASSWORD=your_secure_root_password
Then restart the containers:
docker compose -f docker-compose-prod.yaml down
docker compose -f docker-compose-prod.yaml up -d
Using an External Database
To connect IceHrm to an external MySQL database (e.g., AWS RDS, Azure Database, or your own MySQL server):
- Create a
.envfile with your external database settings:
APP_PORT=5555
APP_BASE_URL=http://localhost:5555
# External database configuration
DB_HOST=your-database-host.example.com
DB_NAME=icehrm
DB_USER=your_db_user
DB_PASSWORD=your_db_password
- Import the database schema to your external database:
mysql -h your-database-host.example.com -u your_db_user -p icehrm < docker/init.sql
- Start only the application containers (without the bundled MySQL):
docker compose -f docker-compose-prod.yaml up -d icehrm icehrm-worker
Docker Services
| Service | Description | Port | |---------|-------------|------| | icehrm | Main application | 5555 | | mysql | Database server | - | | icehrm-worker | Background jobs | - |
Data Persistence
All data is persisted in Docker volumes:
icehrm-mysql-data- Database filesicehrm-app-data- Uploaded files and logs
Stopping IceHrm
docker compose -f docker-compose-prod.yaml down
Viewing Logs
docker compose -f docker-compose-prod.yaml logs -f
