Articles in this section
Category / Section

Deploy Bold BI as a Sub-Application in Multi Container Docker Environment

Published:

This section describes how to deploy Bold BI as a sub-application in a multi-container Docker environment.

  1. Follow the given document to deploy the Bold BI application on Docker environment using the multi-container docker-compose file.
    Multi-container deployment for Bold BI application
    In the above document, you will set the subpath as /dashboard in the Nginx configuration, as shown below.

    Example: http://example.com/dashboard

    upstream idweb {
    	server id_web_container:80;
    }
    
    upstream idapi {
    	server id_api_container:80;
    }
    
    upstream idums {
    	server id_ums_container:80;
    }
    
    upstream biweb {
    	server bi_web_container:80;
    }
    
    upstream biapi {
    	server bi_api_container:80;
    }
    
    upstream bijobs {
    	server bi_jobs_container:80;
    }
    
    upstream bidataservice {
    	server bi_dataservice_container:80;
    }
    
    #server {
    #listen 80;
    #server_name example.com;
    #return 301 https://example.com$request_uri;
    #}
    
    server {
                    listen        80;
    
                    #server_name   example.com;
    
                    #listen 443 ssl;
                    #ssl on;
                    #ssl_certificate /etc/nginx/sites-available/domain.crt;
                    #ssl_certificate_key /etc/nginx/sites-available/domain.key;
    
                    proxy_buffer_size   128k;
                    proxy_buffers   4 256k;
                    proxy_busy_buffers_size   256k;
                    large_client_header_buffers 4 16k;
    
                    proxy_read_timeout 300;
                    proxy_connect_timeout 300;
                    proxy_send_timeout 300;
                    send_timeout 300;
                    client_max_body_size 200M;
    
            location /dashboard/ {
            root               /application/idp/web/wwwroot;
            proxy_pass         http://localhost:6500/dashboard/;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
                    fastcgi_buffers    16 16k;
                    fastcgi_buffer_size 32k;
        }
            location /dashboard/api {
            proxy_pass         http://localhost:6501/dashboard/api;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $http_host;
                    proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
            location /dashboard/ums {
            root               /application/idp/ums/wwwroot;
            proxy_pass         http://localhost:6502/dashboard/ums;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
            location /dashboard/bi {
                    root               /application/bi/web/wwwroot;
            proxy_pass         http://localhost:6504/dashboard/bi;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
            location /dashboard/bi/api {
            proxy_pass         http://localhost:6505/dashboard/bi/api;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
            location /dashboard/bi/jobs {
            proxy_pass         http://localhost:6506/dashboard/bi/jobs;
                    proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
            location /dashboard/bi/designer {
            root               /application/bi/designer/wwwroot;
            proxy_pass         http://localhost:6507/dashboard/bi/designer;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection keep-alive;
            proxy_set_header   Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
            location /dashboard/bi/designer/helper {
            proxy_pass http://localhost:6507/dashboard/bi/designer/helper;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Proto $scheme;
        }
    }
    
  2. Now, run docker-compose up -d from your project directory.

Bold BI configuration changes
  1. Modify the InternalAppUrls with the /dashboard subpath in both config.json and product.json file present in the Bold BI application persistent volume path location </var/www/boldbi/boldbi_data/configuration> as shown in the following screenshot.

    product.json

    product-json.png

    config.json

    config_json.png

    Note: From version 6.19.14, use the config.json and the config.xml for versions prior to this.

  2. After editing both files, navigate to the docker-compose file location and run the following commands:

    docker-compose down
    docker-compose up -d
    
  3. After restarting the application, you can access the Bold BI using http://domain-name/dashboard.

  4. Refer to this link for application startup.

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
SS
Written by Sivanesan Saravanan
Updated:
Comments (0)
Please  to leave a comment
Access denied
Access denied