Articles in this section
Category / Section

Creating Bold Reports Docker Images Using the Linux Package

Published:
Updated:

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

  1. A Linux Ubuntu environment or Windows Subsystem for Linux (WSL) with Ubuntu installed.
  2. Register and download the Bold Reports® Linux package from here.
  3. 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

  1. Download the Bold Reports® Linux package.

    sudo wget <Bold_Reports_Linux_Package_Link>
    
  2. Extract the ZIP file to a preferred location on your system.

    sudo unzip <Bold_Reports_Linux_Package_Zip_File>
    
  3. 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.zip

    Reference image:

    extract-linux-package.png

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 ../../
    
  1. 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
    
  2. 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
    
  3. 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:

  4. Update Product Version
    Modify the version details in the product.json file located at:

    BoldReports_EnterpriseReporting-Linux/
    
  5. 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 .
    
  6. 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
    
  1. 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
    
  2. 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 .
    
  3. 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>

Notes

  • Verify the functionality of the images locally before pushing them to the registry.
  • Ensure that your registry URL is correctly configured and accessible.
Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied