[Jasper] Setup Jasper Report with docker

First, you have to install docker into your server.
Here is the configuration file.

  1. Setup Tomcat & MariaDB docker.
    • Setup ZTI Tomcat docker.
      docker run --name zti_demo --restart always -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps -v /usr/local/tomcat/webapps/ROOT:/usr/local/tomcat/webapps/ROOT -v /usr/local/tomcat/logs:/usr/local/tomcat/logs -v /data:/data -p 8080:8080 -p 8443:8443 --env JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom" -d zealtech/tomcat:8.5.37
    • Setup MariaDB docker.
      docker run --name=zti_maria_demo --restart always -e MYSQL_ROOT_PASSWORD='****' -e MYSQL_DATABASE=zti -v /data:/data -p 3306:3306 -d zealtech/maria:10.3


  2. Transfer config file.
    • Create directory
      mkdir -p /opt/docker_tomcat
      mkdir -p /data/jasper

    • Transfer file from Tomcat_config into /opt/docker_tomcat

    • Transfer file from Jasper_config into /data/jasper

    • Copy file from /opt/docker_tomcat/ into tomcat container.
      docker cp /opt/docker_tomcat/webapps zti_demo:/usr/local/tomcat/
  3. Setup Jasper Report
    • Unzip and move the directory.
      yum -y install unzip
      cd /opt
      unzip TIB_js-jrs-cp_8.0.0_bin.zip
      cp -rf /opt/jasperreports-server-cp-8.0.0-bin /data/
      cp /data/jasperreports-server-cp-8.0.0-bin/buildomatic/sample_conf/mysql_master.properties /data/jasperreports-server-cp-8.0.0-bin/buildomatic/default_master.properties

    • Setup properties file.
      vi /data/jasperreports-server-cp-8.0.0-bin/buildomatic/default_master.properties

      Find and set config as follows:
      appServerDir=/usr/local/tomcat

      appServerType=tomcat
      appServerDir=/usr/local/tomcat
      dbUsername=root
      dbPassword=<PASSWORD>
      dbHost=<IP>

      webAppNameCE = jasperserver





    • Remote into docker and install jasper report.
      docker exec -it zti_demo bash
      cd /data/jasperreports-server-cp-8.0.0-bin/buildomatic
      ./js-install-ce.sh



    • Setup config file (from inside docker)
      cd /data

      cp /data/jasper/resfactory.properties /usr/local/tomcat/webapps/jasperserver/WEB-INF/classes/
      cp /data/jasper/mysql-connector-java-8.0.19.jar /usr/local/tomcat/webapps/jasperserver/WEB-INF/classes/
      cp /data/jasper/mssql-jdbc-8.4.1.jre8.jar /usr/local/tomcat/webapps/jasperserver/WEB-INF/classes/
      cp -rf /data/jasper/fonts /usr/local/tomcat/webapps/jasperserver/WEB-INF/classes/
      cp /data/jasper/THSarabun9.jar /usr/local/tomcat/webapps/jasperserver/WEB-INF/lib/
      cp -rf /data/jasper/jasperreports_extension.properties /usr/local/tomcat/webapps/jasperserver/WEB-INF/classes/
      cp /data/jasper/ReportLib.jar /usr/local/tomcat/webapps/jasperserver/WEB-INF/lib/
      cp -rf /data/jasper/jaspersoft_webserviceds_v1.5/JRS/WEB-INF/* /usr/local/tomcat/webapps/jasperserver/WEB-INF/
      cp /data/jasper/mysql-connector-java-8.0.19.jar /usr/local/tomcat/lib/
      cp /data/jasper/mssql-jdbc-8.4.1.jre8.jar /usr/local/tomcat/lib/
      cp /data/jasper/jrs.csrfguard.properties /usr/local/tomcat/webapps/jasperserver/WEB-INF/csrf/

      exit

    • Restart docker tomcat
      docker restart zti_demo
  4. Open Tomcat and select /jasperserver


Note: view docker logs
docker logs --tail 100 -f zti_demo