Video coming soon…

🍊 Setup OrangeHRM

Placeholder description.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install script.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/hr/orangehrm/orangehrm-ubuntu.sh
chmod +x orangehrm-ubuntu.sh
sudo bash orangehrm-ubuntu.sh

Tutorial Steps

1 Download the Script

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/hr/orangehrm/orangehrm-ubuntu.sh

2 Make it Executable

chmod +x orangehrm-ubuntu.sh

3 Run the Installer

The script installs Docker if needed, then deploys OrangeHRM with MySQL automatically.

sudo bash orangehrm-ubuntu.sh

4 Access the Web UI

Open your browser and navigate to:

http://<your-server-ip>

5 Complete the Setup Wizard

Follow the installation wizard to verify system requirements, configure the database connection, enter your organization name, and set your admin username and password. After setup, log in and begin adding your employees, departments, and leave policies.

Ports Used

PortPurpose
80OrangeHRM Web UI (HTTP)
443OrangeHRM Web UI (HTTPS — via reverse proxy)
3306MySQL — internal only, not exposed

Overview

OrangeHRM is the world's most widely deployed open-source HRMS, with over 5 million users across 100+ countries. It covers the full HR lifecycle: employee records with org chart visualization, leave management with multi-level approval workflows, time and attendance tracking, recruitment (job postings, applicant tracking, interviews), performance management (goal setting, review cycles, 360-degree feedback), training management, and a claims/expense module. The Community Edition is free and self-hostable. Its clean, modern interface and comprehensive module set make it suitable for organizations from 20 to 5,000+ employees.

Why Use It

OrangeHRM replaces a tangle of spreadsheets, email approvals, and paper forms with a single HR system. Leave requests flow through a defined approval chain with automatic email notifications. Recruitment moves from inbox chaos to a structured applicant tracking system. Performance reviews happen on schedule with documented feedback rather than ad-hoc conversations. All of this runs on your own server, so employee data (salaries, personal information, performance records) never leaves your infrastructure. The Community Edition has no user limit and no feature expiry.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              OrangeHRM only needs port 80 (HTTP) or 443 (HTTPS via reverse proxy) open to users. MySQL runs on port 3306 internally and must never be exposed publicly. Configure ufw allow 80 and ufw allow 443, then deny all other inbound. In production always run OrangeHRM behind Nginx Proxy Manager with a valid SSL certificate.

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    IceHRM is the best lightweight alternative — simpler to set up, lower resource requirements, but fewer modules (no recruitment or performance management). Odoo HR is more powerful if you also need CRM, accounting, and inventory in the same system. BambooHR is the leading cloud HRMS with excellent UX and mobile apps but costs $6–9 per employee/month with no self-hosting. Factorial is a modern cloud HR tool with a good free tier. Workday and SAP SuccessFactors are enterprise HRMS for 1,000+ employee organizations. OrangeHRM sits at the sweet spot for organizations that need comprehensive HR features without enterprise costs.

                    When Not to Use It

                    OrangeHRM's Community Edition has no built-in payroll calculation for statutory compliance — it can export data to a payroll system but does not compute tax deductions or generate legally compliant payslips. If payroll is your primary requirement, add a dedicated payroll tool alongside OrangeHRM. For organizations with fewer than 20 employees, OrangeHRM's setup overhead may not be justified — a simpler tool like IceHRM or even a well-structured spreadsheet may suffice. OrangeHRM also has limited mobile native app support in the community edition.

                    PrismaTechWork Professional Help

                    PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.

                      Contact Us

                      Frequently Asked Questions

                      Is OrangeHRM Community Edition completely free?

                      Yes — OrangeHRM Community Edition is open-source (GPL license) and completely free to self-host with no user limits and no feature expiry. There are paid OrangeHRM Professional and Enterprise plans with additional modules (advanced payroll, advanced leave carryover, custom branding) and priority support, but the Community Edition covers all core HR functions for most organizations.

                      How many employees can OrangeHRM handle?

                      OrangeHRM Community Edition handles organizations from 20 to 5,000+ employees. For up to 500 employees: 2 vCPU / 2 GB RAM is sufficient. For 500–2,000 employees: 4 vCPU / 4 GB RAM recommended. For larger organizations, increase MySQL resources and add PHP-FPM workers. Performance depends heavily on how many modules are active and how many concurrent users are logged in.

                      Does OrangeHRM support multiple countries with different leave policies?

                      Yes — OrangeHRM supports multiple leave types with configurable entitlement periods per employment category and location. You can create country-specific leave types (e.g. UK Annual Leave with 28 days, UAE Annual Leave with 30 days) and assign them to employees based on their location. Multi-currency is handled at the expense claim level.

                      Can OrangeHRM integrate with payroll software?

                      OrangeHRM does not have built-in payroll processing with tax compliance in the Community Edition. It can export attendance, leave, and employee data as CSV reports that your payroll software imports. Many companies use OrangeHRM for HR data management and a separate dedicated payroll system (QuickBooks Payroll, PaySpace, or a local compliance tool) for payroll processing.

                      Does OrangeHRM support Arabic?

                      OrangeHRM has a translation framework and community-contributed language packs. An Arabic language pack exists but may not be 100% complete or have full RTL layout support. The core application UI defaults to English. For organizations where Arabic is the primary language for all staff, test the Arabic language pack on a staging instance before deploying to production.

                      How does OrangeHRM handle leave requests?

                      Employees submit leave requests through the self-service portal specifying type, dates, and a note. Their supervisor (configured in the employee's Reports To field) receives an email notification and approves or rejects with a comment. If a second level of approval is required, the HR manager receives it next. The employee receives email updates at each step and sees the final status in their dashboard.

                      Can OrangeHRM track training and certification compliance?

                      Yes — OrangeHRM's Training module lets HR create training sessions, record employee attendance, and track certification completion. You can set certification expiry dates and OrangeHRM will flag when renewals are due. Training records are visible on the employee profile and can be included in HR reports. This is particularly useful for industries with mandatory compliance training (health & safety, food handling, first aid).

                      How do I upgrade OrangeHRM to a new version?

                      Back up the MySQL database and application files before upgrading. Download the upgrade package from the OrangeHRM website, place it in the upgrades directory, and run the upgrade script via the admin panel (Admin → Upgrade Wizard) or CLI. Always test the upgrade on a staging environment first — OrangeHRM version upgrades include database schema migrations that can fail on corrupted data.