This guide will install OrangeHRM Starter Edition on Oracle Cloud Compute and setup a custom domain for it.
This gives a powerful HRM platform for business HR functions
Create a Compute Instance using this guide
Install Docker & Docker Compose using this guide
Log on to the compute box and create folders
mkdir -p docker/orangehrm cd docker/orangehrm
Create a new
docker-compose.yml
nano docker-compose.yml
Modify this file specifically change the
Pab!oPassM@ster
passwords (its in two places). However you're welcome to use this password if you like 😉version: "3.3" services: orangehrm: image: orangehrm/orangehrm:latest restart: unless-stopped ports: - "8200:80" - "8243:443" environment: - ORANGEHRM_DATABASE_HOST=mariadb - ORANGEHRM_DATABASE_USER=orangehrmuser - ORANGEHRM_DATABASE_PASSWORD=Pab!oPassM@ster - ORANGEHRM_DATABASE_NAME=orangehrm - PUID=998 - PGID=100 volumes: - ./orange:/orangehrm depends_on: - mariadb links: - mariadb:mariadb mariadb: image: mariadb:10.2 restart: unless-stopped volumes: - ./db_orange:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=Pab!oPassM@ster - MYSQL_ROOT_USER=root - MYSQL_DATABASE=orangehrm
Paste the file into nano and CTRL+X to save and quit
Compose the file (it'll take 1-mins) using the command below
docker-compose up -d
It'll look like this
[opc@holamundo orangehrm]$ docker-compose up -d [+] Running 30/30 ✔ mariadb 12 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 27.3s ✔ 22c5ef60a68e Pull complete 3.7s ✔ 0ee278c19a4a Pull complete 3.7s ... 5.5s ✔ orangehrm 16 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 32.8s ✔ 0e0969fcaa82 Pull complete 0.8s ✔ 1ff5e264c017 Pull complete 0.4s ... 3.6s [+] Building 0.0s (0/0) docker:default [+] Running 3/3 ✔ Network orangehrm_default Created 0.9s ✔ Container orangehrm-mariadb-1 Started 0.1s ✔ Container orangehrm-orangehrm-1 Started
Check the docker containers are running
docker ps --filter "name=orangehrm*"
It should show
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 098eb5436d58 orangehrm/orangehrm:latest "docker-php-entrypoi…" About a minute ago Up About a minute 0.0.0.0:8200->80/tcp, :::8200->80/tcp, 0.0.0.0:8243->443/tcp, :::8243->443/tcp orangehrm-orangehrm-1 f0afb3064bed mariadb:10.2 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp orangehrm-mariadb-1
Write down the NAME of the mariadb, in my case its
orangehrm-mariadb-1
(we'll need this later).Open the following ports using this guide
8200
8243
3306
Log in to your Domain Administration (I'm using CloudFlare) and add an A to the IP of your NGINX Proxy Manager - setup guide here
Log in to your NGINX Proxy Manager Dashboard and add a proxy host. Type in the Domain Name you added to you Domain Registration and the IP of your NPM box.
Also select your SSL certificate on the SSL tab. I'm using my 15 year CloudFlare one.
Visit the sub domain and you should be good to go
Click Fresh Install > Next
Read the license agreement. Come on.... its not long
If you decide to accept the license, then click to Accept the Terms in the License Agreement and click next
Select Existing Empty Database and complete the Database Configuration as per the picture below. Note the Database Host Name is the name of the mariadb container name you made a note of earlier. The DB Name, User and Password are the 3 values at the bottom of the
docker-compose.yaml
file - scroll up this blog to find them.Check everything is green and click Next
Enter your Organization Name. Sorry no English (United Kingdom) here, so you have to pick another English variant.
Enter the Admin details on the next page and remember to unselect the register your system with OrangeHRM - see picture below
On the next page, confirmation, click Install and this will just take a minute
Click Launch OrangeHRM
Enter the Admin Username & Password you just created during the wizard
Enjoy
Mobile App
When you download the OrangeHRM’s mobile app it gives you the ability to apply for Leave, Complete Timesheets & more. Download the apps here
Enjoy!
What's the picture? Its the Statues on the roof of Victoria Shopping Center, Harrogate. Visit Yorkshire!