Creating Bold Reports Docker Images Using the Linux Package
This document provides step-by-step instructions for creating Bold Reports® Docker images using the Linux package. It covers the complete process to set up, build, and deploy Docker images for both single-container and multi-container environments. By following these guidelines, you can efficiently generate and manage Docker images tailored to your deployment needs.
Prerequisites
- A Linux Ubuntu environment or Windows Subsystem for Linux (WSL) with Ubuntu installed.
- Register and download the Bold Reports® Linux package from here.
- Ensure Docker is installed and properly configured on your system.
Refer to the official Docker documentation: Ubuntu | Docker Docs
Steps to Download and Extract the Linux Package
-
Download the Bold Reports® Linux package.
sudo wget <Bold_Reports_Linux_Package_Link>
-
Extract the ZIP file to a preferred location on your system.
sudo unzip <Bold_Reports_Linux_Package_Zip_File>
-
Perform Additional Downloads:
-
Download the required script file based on your setup needs, and place it in the same directory as the extracted Linux package.
-
Download the utility folder and place it parallel to the Linux package directory.
Utility download link: bold-reports-utilities.zipReference image:
Single-Container Image Creation
Follow the steps below to create a single-container image using the provided script and resources.
-
Create the Script File
Create a script file named single-image.sh with the following commands:cd bold-reports-utilities/build/dockerfiles/latest/single-docker-image cp -r boldreports-nginx-config entrypoint.sh product.json ../../../../../BoldReports_EnterpriseReporting-Linux/application/ ls ../../../../../BoldReports_EnterpriseReporting-Linux/application/ cp -r clientlibrary ../../../../../BoldReports_EnterpriseReporting-Linux/application/ cp -r dockerfiles/boldreports-ubuntu.txt ../../../../../BoldReports_EnterpriseReporting-Linux/ cd ../../../../../BoldReports_EnterpriseReporting-Linux/clientlibrary/boldreports/ mkdir test unzip clientlibraries.zip unzip clientlibraries.zip -d test cp -r test/* ../../application/clientlibrary/clientlibraries/ rm -r test cp -r ../../application/product.json ../../application/clientlibrary/MoveSharedFiles/app_data/configuration/ cat ../../application/clientlibrary/MoveSharedFiles/app_data/configuration/product.json cp -r ../../application/clientlibrary/* ../../application/utilities/ ls cd ../../application/idp/web/ mkdir appdatafiles ls cp -r ../../clientlibrary/MoveSharedFiles appdatafiles/ rm -r ../../app_data ls ../../
-
Verify Product Version
Locate and note the version of both IDP and Reports in the product.json file at:BoldReports_EnterpriseReporting-Linux/application/app_data/configuration
-
Run the Script File
Move the necessary folders and files from the utility to the Linux package by running:chmod 777 single-image.sh
sudo bash single-image.sh
-
Download and Add the Chromium Package
Download the Chromium package from the link below and place it inside the BoldReports_EnterpriseReporting-Linux directory without unzipping it:- Download Link: https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/901912/chrome-linux.zip
- Location: BoldReports_EnterpriseReporting-Linux
-
Update Product Version
Modify the version details in the product.json file located at:BoldReports_EnterpriseReporting-Linux/
-
Build the Single-Container Image
Run the following command to build the Docker image:docker build -t boldreports-single-docker:<tag_version> -f boldreports-ubuntu.txt .
-
Tag and Push the Image to Your Registry
If needed, tag and push the built image to your container registry:-
Tag the built image:
- docker tag <built_image> <your_registry_url>
-
Push the image to your registry:
- docker push <your_registry_url>
-
Multi-Container Image Creation
Follow the steps below to create multi-container images using the provided script and resources.
-
Create a script file for multi-container image creation. Refer to the script provided below.
File Name: multi-image.sh
cd bold-reports-utilities/build/dockerfiles/latest cp bold* ../../../../BoldReports_EnterpriseReporting-Linux/ ls ../../../../BoldReports_EnterpriseReporting-Linux/ cd ../../../movesharedfiles/MoveSharedFiles/shell_scripts/web cp -r entrypoint.sh ../../../../../BoldReports_EnterpriseReporting-Linux/application/reporting/web/ cat ../../../../../BoldReports_EnterpriseReporting-Linux/application/reporting/web/entrypoint.sh cd .. cp -r api/entrypoint.sh ../../../../BoldReports_EnterpriseReporting-Linux/application/reporting/api/ cp -r jobs/entrypoint.sh ../../../../BoldReports_EnterpriseReporting-Linux/application/reporting/jobs/ cp -r designer/entrypoint.sh ../../../../BoldReports_EnterpriseReporting-Linux/application/reporting/reportservice/ cp -r viewer/entrypoint.sh ../../../../BoldReports_EnterpriseReporting-Linux/application/reporting/viewer/ cp -r id_web/entrypoint.sh ../../../../BoldReports_EnterpriseReporting-Linux/application/idp/web/ cd ../../../installscripts/single-docker-image/clientlibrary/ mkdir ../../../../BoldReports_EnterpriseReporting-Linux/application/idp/web/appdatafiles cp -r MoveSharedFiles ../../../../BoldReports_EnterpriseReporting-Linux/application/idp/web/appdatafiles/ ls ../../../../BoldReports_EnterpriseReporting-Linux/application/idp/web/appdatafiles/ cp ../../../../BoldReports_EnterpriseReporting-Linux/application/app_data/configuration/product.json ../../../../BoldReports_EnterpriseReporting-Linux/application/idp/web/appdatafiles/MoveSharedFiles/app_data/configuration/ cat ../../../../BoldReports_EnterpriseReporting-Linux/application/idp/web/appdatafiles/MoveSharedFiles/app_data/configuration/product.json cd ../../../../BoldReports_EnterpriseReporting-Linux/clientlibrary/boldreports/ mkdir test unzip clientlibraries.zip unzip clientlibraries.zip -d test cp -r test/* ../../clientlibrary/boldreports/ rm -r test
-
Run the Script File
Move the necessary folders and files from the utility to the Linux package by executing the following commands:chmod 777 multi-image.sh
sudo bash multi-image.sh
-
Build Docker Images for Respective Services
Use the following commands to build Docker images for each service:docker build -t bold-identity:<Image_Tag> -f bold-identity.txt .
docker build -t bold-idp-api:<Image_Tag> -f bold-idp-api.txt .
docker build -t bold-ums:<Image_Tag> -f bold-ums.txt .
docker build -t boldreports-server:<Image_Tag> -f boldreports-server.txt .
docker build -t boldreports-server-api:<Image_Tag> -f boldreports-server-api.txt .
docker build -t boldreports-server-jobs:<Image_Tag> -f boldreports-server-jobs.txt .
docker build -t boldreports-designer:<Image_Tag> -f boldreports-designer.txt .
docker build -t boldreports-viewer:<Image_Tag> -f boldreports-server-viewer.txt .
-
Tag and Push the Images to Your Registry
If required, tag and push the built images to your container registry:- Change the built image to refer to your registry repository.
* docker tag <built_image> <your_registry_url> - Push the image to your registry:
* docker push <your_registry_url>
- Change the built image to refer to your registry repository.
Notes
- Verify the functionality of the images locally before pushing them to the registry.
- Ensure that your registry URL is correctly configured and accessible.