Articles in this section
Category / Section

Deploy Bold BI with Traefik Reverse Proxy using Single Container Image

Published:

This section explains how to deploy the Bold BI application with Traefik reverse proxy using a single-container Docker Compose file.

  1. Create a Traefik configuration file with the name traefik.yml for the Bold BI application.

    
    global:
    checkNewVersion: true
    
    # log default is ERROR
    log:
    level: WARN
    
    # enable dashboard on 8080 
    api:
    insecure: true
    dashboard: true
    
    ping: {}
    
    # auto-proxy containers if they have proper labels
    # and also use this file for dynamic config (tls)
    providers:
    docker:
        exposedByDefault: false
        watch: true
    file:
        fileName: /etc/traefik/traefik.yaml
        watch: true
    
    # listen on 80/443, and redirect all 80 to 443 via 301
    entryPoints:
    web:
        address: :80
        # comment out these lins if you don't want to redirect everything
        http:
        redirections:
            entryPoint:
            to: websecure
            scheme: https
            permanent: true
    websecure:
        address: :443
    
    tls:
    certificates:
        - certFile: /certs/<ssl_cert_file_name>
          keyFile: /certs/<ssl_key_file_name>
    

    <ssl_cert_file_name> - Name of the SSL certificate
    Example: domain.crt
    <ssl_key_file_name> - Name of the SSL Private key:
    Example: domain.key

  2. Create a docker-compose.yml file that starts your Bold BI application with Traefik reverse proxy.

    version: "2.4"
    
    services:
    boldbi:
    image: syncfusion/boldbi
    restart: always
    environment:
        - APP_URL=https://example.com
    volumes:
        - boldbi_data:/application/app_data
    labels:
        traefik.enable: true
        traefik.http.routers.nginx.rule: Host(`example.com`)
        traefik.http.routers.nginx.entrypoints: websecure
        traefik.http.routers.nginx.tls: true
    depends_on:
        traefik:
        condition: service_healthy
    
    traefik:
        image: "traefik:v2.2"
        healthcheck:
        test: 
            - CMD
            - traefik
            - healthcheck
        interval: 10s
        timeout: 5s
        retries: 3
        ports:
        - "80:80"
        - "443:443"
        - "8080:8080"
        volumes:
        - <traefik yaml file path>:/etc/traefik/traefik.yaml
        - <SSL certificate folder path>:/certs/
        - /var/run/docker.sock:/var/run/docker.sock
    volumes:
    boldbi_data:
        driver: local
        driver_opts:
        type: 'none'
        o: 'bind'
        device: <host_path_boldbi_data>
    
    

    Replace the example.com with a domain name in APP_URL and labels section.

    < traefik yaml file path > - Specify the path for the traefik yaml configuration file
    Example: /root/traefik.yaml
    < SSL certificate folder path > - Specify the path for the SSL certificate folder
    Example: /root/certs/

  3. Allocate a directory in your host machine to store the shared folders for applications usage. Replace the directory path with <host_path_boldbi_data> in the docker-compose.yml file.
    For example,
    Linux: device: ‘/var/boldbi/boldbi_data’

  4. Now, build a container using the following command.

    docker-compose up -d 
    
  5. Configure the Bold BI On-Premise application startup to use the application. Please refer to the following link for more details on configuring the application startup.

    https://help.boldbi.com/embedded-bi/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