infofabrik/reportserverenterprise

By infofabrik

Updated 12 days ago

ReportServer is the modern and versatile business intelligence (OSBI) platform for your company.

Image
Content Management System
Data Science
Databases & Storage
1

1.5K

Reportserver Enterprise Edition

Version strategies

  • reportserverenterprise:<tag>
    • latest: latest "Reportserver Enterprise" version
    • <major>.<minor>.<rev>.<build>-b : Fork of the old Bitnami Docker (e.g. reportserverenterprise:4.2.0.6066-b)
    • <major>.<minor>.<rev>.<build> : Reportserver without database (e.g. reportserverenterprise:4.3.0.6081). Currently mariaDB as preinstalled database
    • <major>.<minor>.<rev>.<build>-standalone : Reportserver + MariaDB in one boundled image (z.B. reportserverenterprise:4.3.0.6081-standalone)

KNOWN ISSUES

Upgrading the Reportserver

Unfortunately, upgrading the reportserver docker container is currently only possible using following workaround. We're currently working on a upgrade script as well as a more stable startup of the container!

  1. Backup your Database, added Files (like libraries) and configurations!

  2. Enter your container (docker exec -it CONTAINER_NAME bash)

  3. (OPTIONAL) Install an texteditor you like (I recommend: apt-get install nano)

  4. Edit scripts/startRS.sh or startSTANDALONE.sh depending which container variant you're using (nano scripts/startRS.sh) The File should now look like:

#!/bin/bash
vers="{\"major\":$1,\"minor\":$2,\"patch\":$3,\"build\":$4}"

set JAVA_OPTS=++JvmOptions="-Dfile.encoding=UTF8" ++JvmOptions="--add-opens=java.base/java.net=ALL-UNNAMED" ++JvmOptions="--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED" ++JvmOptions="-Djavax.net.ssl.trustStoreType=JKS" ++JvmOptions="--add-opens=java.base/java.util=ALL-UNNAMED" --JvmMs 512 --JvmMx 1536
set JDK_JAVA_OPTIONS= 

echo extra vars: $vers
# ansible-playbook -i localhost, buildTemplates.yml --extra-vars=$vers
# tree ./configs
# cp -R ./configs/rootfs/* ./
# chmod -R +x ./scripts
# tree scripts
#./scripts/initDB.sh &&
# catalina.sh run
tail -f /dev/null
  1. Exit your container and restart it (docker restart CONTAINER_NAME)

  2. Now you've got a container without a running tomcat!

  3. Download your reportserverversion ( I recommend: "curl https://reportserver.net/spp/download-rs.php?version=latest -o reportserver.zip" )

  4. Do your upgrade (as described in https://reportserver.net/en/tutorials/upgrade-30/ )

  5. Comment the line "catalina.sh run" of the file "scripts/startRS.sh" back in and remove the "tail -f /dev/null" (We want tomcat to be started at the next container restart) The file should now look like this:

#!/bin/bash
vers="{\"major\":$1,\"minor\":$2,\"patch\":$3,\"build\":$4}"

set JAVA_OPTS=++JvmOptions="-Dfile.encoding=UTF8" ++JvmOptions="--add-opens=java.base/java.net=ALL-UNNAMED" ++JvmOptions="--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED" ++JvmOptions="-Djavax.net.ssl.trustStoreType=JKS" ++JvmOptions="--add-opens=java.base/java.util=ALL-UNNAMED" --JvmMs 512 --JvmMx 1536
set JDK_JAVA_OPTIONS= 

echo extra vars: $vers
# ansible-playbook -i localhost, buildTemplates.yml --extra-vars=$vers
# tree ./configs
# cp -R ./configs/rootfs/* ./
# chmod -R +x ./scripts
# tree scripts
#./scripts/initDB.sh &&
catalina.sh run
# tail -f /dev/null
  1. Exit and restart your container

Parameters

Example: Standalone

docker run -it -p 8081:8080 infofabrik/reportserverenterprise:4.3.0.6081-standalone and navigate to http://127.0.0.1:8081

using --rm as parameter will remove the container after it stopped.

Example: docker-compose.yml
version: '3'

services:
  mariadb:
    image: mariadb
    container_name: mariadb
    hostname: mariadb
    command: --lower_case_table_names=1
    environment:
      MARIADB_USER: reportserver
      MARIADB_PASSWORD: reportserver
      MARIADB_ROOT_PASSWORD: s3cur1ty!
    healthcheck:
      test: "/usr/bin/mysql --user=reportserver --password=reportserver --execute \"SHOW DATABASES;\""
      interval: 10s
      timeout: 30s
      retries: 10
      start_period: 5s
    ports:
      - '3306:3306'
  reportserver:
    image: reportserverenterprise:latest
    container_name: reportserver
    hostname: reportserver
    environment:
      REPORTSERVER_DATABASE_HOST: mariadb
      REPORTSERVER_DATABASE_PORT: 3306
      REPORTSERVER_DATABASE_USER: reportserver
      REPORTSERVER_DATABASE_NAME: reportserver
      REPORTSERVER_DATABASE_PASSWORD: reportserver
      REPORTSERVER_DATABASE_ROOTPASSWORD: s3cur1ty!
    ports:
      - "8081:8080"
    links:
      - "mariadb:mariadb"
    depends_on:
      mariadb:
        condition: service_healthy
networks:
  default:
    name: reportserver-ee-network

Start your compose with docker-compose up

Further Reading

For more information on how to configure or use your Reportserver: https://reportserver.net/en/tutorials/tutorial-get-started/

Docker Pull Command

docker pull infofabrik/reportserverenterprise