We are pleased to inform that from the version 5.0 Built 1012 of Helical Insight Enterprise Edition, we are by default providing support of docker also with a lot of configurable options. In this blog we are documenting the steps required of how to deploy and use docker.
This document covers all information related how to install docker, how to configure the yml file as per requirement and how to start/run the docker.
This is a production ready docker image which is configured with NGINX, self signed HTTPS certificate and Postgress DB which is being used as a backend DB (instead of Derby).
List of Contents
- Folder Structure
NOTE : Install docker version 24.0.2 or greater.
Docker -> Download Docker for your respective operating system from docker’s official website and install it :
This docker file is created with Helical Insight version Enterprise Version 5.0 Build no 1012 GA release). In order to download the docker image you can send an email on firstname.lastname@example.org and we will share the download link.
Once you get the download link, download the image and unZip the file.
- Folder structure
Once you unzip the previously downloaded file, you will see folder structure like below :
HIDockerImage < Directory Name could be anything>-> hi
-> db — contains default datasource
-> hi-repository — contains all the static files
-> hi-ee — Exploded application file
-> ssh — ssh keys can be found here. These are replaceable but with the same name.
-> ssl — ssl related files can be found here (cert, key and pass files), replaceable but with the same name.
-> docker-compose.yml — This is a compose file that spins up hi-ee app, postgresdb and nginx reverse proxy
-> nginx.conf — This file contains the configuration related to nginx reverse proxy / Load Balancer.
This package contains file readme.md, you can refer this for very detailed explanation of many docker commands.
Step 1: Create a Folder with any Name, we have created folder with the name as HIDockerImage , move all the files from helicalinsight-ee-220.127.116.112GA (unZipped Folder) to this newly created Folder
Step 2: Open file docker-compose.yml file and unComment the line 6 and 7 (This is only required if you already have postgres installed on port 5432, if not keep it commented as it is) and enter Your IpAddress/domain name on line 27 in the place of localhost. Also if 22 ssh port is already in use then uncomment line 22. After making these changes, save the file.
Step 3: Install the docker if already not installed. And start docker Daemon
Step 4: open cmd/Powershell FROM the folder which has docker-compose.yml and run below Commands: –
Command 1: docker swarm init (This will start docker in distributed / cluster mode).
NOTE: When using in SWARM HA LB mode then it will not work in sticky session mode. Hence in those cases it is advisable to use JWT method with sessionless embedding so that a session never gets permanently created and a user will never see login page.
Command 2: docker stack deploy -c docker-compose.yml ANYNAME
(NOTE: After hitting this command, It will take 3-4 minutes or more to show all the running containers)
Command 3: docker service ls (You will find all the services that are running)
Command 4: docker ps
(In the beginning of 3-4 Minutes, it will show empty response)
(After That It will show like below Image)
In case of windows : You can also check in Docker Desktop UI and you will find the containers Appearing.
Step 5: Open https://<yourIpAddress>/hi-ee on any browser
(Paste you Ip Address/domain name in the place of <yourIpAddress> )
(Note: The total Time To completely start HI application is almost 20 minutes Also note that in beginning 3-5 minutes It will show Page Not Found Bad Gateway. After That It will start Loading Helical Insight application and will eventually load fully in roughly 20-25 minutes in case of windows. This time will be less in case of Linux)
After some time you can check that Helical Insight application is up and running
Making changes in the core Helical Insight files
In case if you want to make any changes in configuration files like deploying license file, white labeling changes, SSO chanages, caching related changes, web.xml, spring-security.xml, cache.xml, setting.xml etc OR any other css/js file then you can make all these changes in respective files present within hi folder. hi folder in our example is located within HIDockerImage location.
Once you make any changes in any of the files which requires restart like deploying license file etc, then in order to restart that service you can use below commands (in powershell / command prompt / CLI cmd) :
- docker service ls – This will give names of all running services. For example there is a service called hiDocker_hiee
- If you want to stop the running service then command for it is :
docker service scale service_name=0For our example if service running is hiDocker_hiee then to stop it command will be docker
service scale hiDocker_hiee=0
Similarly to start the same again use command : docker service scale hiDocker_hiee=1
Please note that the docker, when you restart, it will take again around 20-25 mins like it happened earlier.
NOTE : All these steps will remains same for all operating systems like windows/mac/linux etc.
NOTE: For the exports to work the chrome version and driver version should be the same. Hence after installing make sure that the chrome is disabled from auto-updating otherwise it will auto-update and then there will be mismatch. And because of this mismatch the export will not work fine.
You can refer to this link to learn how to disable chrome automatic update :