Recent Changes - Search:

ProReports

edit SideBar

Respect my work!
If you are using commercially
ProReports please
bay a license:

or

        BTC: 

1MTFbBSKrocPK7G6GKfG8RoTw5N57WnnNa

If you have paid donate send me e-mail with Your data or transaction number to receive an access code to articles with limited access.

Run ProReports as docker/podman container or SWARM service

To start container run command:

docker run -itd -p 8080:8080 --name proreports gemail/docker-proreports

or using podman:

podman pull docker.io/gemail/docker-proreports
podman run -itd -p 8080:8080 --name proreports docker.io/gemail/docker-proreports

If you want to validate the operation run command:

docker ps

or

podman ps

You should see something like this:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
2774de6fa8af        gemail/docker-proreports   "/bin/sh -c 'start..."   22 minutes ago      Up 2 seconds        0.0.0.0:8080->8080/tcp   proreports

To run ProReports in browser set URL:

http://127.0.0.1:8080/rep

or

http://<IP_ADDRESS_OF_SERVER_WITH_DOCKER>:8080/rep

If you want to log on to container proreports run command:

docker exec -it proreports bash 

or

podman exec -it proreports bash 
Note!

If the container is helpful in ProReports tests click star in Docker Hub

if you want to add you own JDBC drivers to container run command:

docker run -itd -p 8080:8080 -v /dir_with_drivers:/libjar --name proreports gemail/docker-proreports

or

podman run -itd -p 8080:8080 -v /dir_with_drivers:/libjar --name proreports gemail/docker-proreports

where /dir_with_drivers - directory with jdbc drivers (*.jar files) or another java libraries

In cluster SWARM you can create service with command:

docker service create -p 8080:8080 --mode global  --name proreports gemail/docker-proreports

and with you own JDBC drivers:

docker service create -p 8080:8080 --mount type=bind,source=/dir_with_drivers,target=/libjar --mode global  --name proreports gemail/docker-proreports

Run service proreports with own configuration.

If You want to create service proreports with own configuration you must:

tar -xzvf ProReports.utf8-lin.tar.gz
  • create directory /tmp/prv_repo
mkdir /tmp/prv_repo
  • copy files to /tmp/prv/repo/
cp  /usr/ProReports.utf8/webapps-plus/rep/version.php /tmp/prv_repo/
cp  /usr/ProReports.utf8/etc/jetty.xml  /tmp/prv_repo/
cp  /usr/ProReports.utf8/webapps-plus/rep/WEB-INF/web.xml  /tmp/prv_repo/
cp  /usr/ProReports.utf8/repo.xml  /tmp/prv_repo/
  • make changes in this files
  • make in docker configs
docker config create repo_ver /tmp/prv_repo/version.php  
docker config create repo_jetty /tmp/prv_repo/jetty.xml
docker config create repo_webxml /tmp/prv_repo/web.xml
docker config create repo_xml /tmp/prv_repo/repo.xml    
  • make service proreports
docker service create -p 8080:8080 \
-e ENV_REPO_VER=repo_ver \
-e ENV_REPO_JETTY=repo_jetty \
-e ENV_REPO_JETTY=repo_webxml \
-e ENV_REPO_XML=repo_xml \
--config repo_ver \
--config repo_jetty \ 
--config repo_webxml \ 
--config repo_xml \
--mount type=bind,source=/dir_with_drivers,target=/libjar \
--mode global  \
--name proreports gemail/docker-proreports

or another way:

docker service create -p 8080:8080 \
--config source=repo_ver,target=/usr/ProReports.utf8/webapps-plus/rep/version.php \
--config source=repo_jetty,target=/usr/ProReports.utf8/etc/jetty.xml \ 
--config source=repo_webxml,target=/usr/ProReports.utf8/webapps-plus/rep/WEB-INF/web.xml \ 
--config source=repo_xml,target=/usr/ProReports.utf8/repo.xml \
--mount type=bind,source=/dir_with_drivers,target=/libjar \
--mode global  \
--name proreports gemail/docker-proreports

Additionally you can set another variables:

List of environment variables

NameDefaul valueUsed with --configDescription
ENV_REPO_LIBJARlibjarNoDirectory with own java library or jdbc drivers
ENV_REPO_JETTYjetty.xmlYesConfiguration file for databases as JNDI and for server JETTY
ENV_REPO_WEBXMLweb.xmlYesConfiguration file for databases as JNDI and for server JETTY
ENV_REPO_WEBPHPphp.iniYesConfiguration file for PHP for Quercus
ENV_REPO_XMLrepo.xmlYesConfiguration file for ProReports server
ENV_REPO_VERversion.phpYesConfiguration file for web application ProReports
ENV_KRB5_REALMxxxNoConfiguration for KERBEROS authentication
ENV_KRB5_KDC-xxxNoConfiguration for KERBEROS authentication
ENV_MAIL_DBGfalseNoDebug for email sending
ENV_JMX_PORT6969NoPort setting for JMX
ENV_MS_MEMORY128MNoSetting parametr -Xms for java
ENV_MX_MEMORY1024MNoSetting parametr -Xmx for java
Important!

To increase the level of security, change the salt value in the MagicStringSession() function in the file <proreports_dir>/webapps-plus/rep/version.php

Run service proreports with persistent database and plugin directory

tar -xzvf ProReports.utf8-lin.tar.gz
  • copy database files to final directory, for example:
cp /usr/ProReports.utf8/BASE/* /DBREPO/
  • copy plugins files to final directory, for example:
cp /usr/ProReports.utf8/webapps-plus/rep/files/* /repo_files/
  • make service proreports
docker service create -p 8080:8080 \
--mount type=bind,source=/DBREPO,target=/usr/ProReports.utf8/BASE \
--mount type=bind,source=/repo_files,target=/usr/ProReports.utf8/webapps-plus/rep/files \
--mode global  \
--name proreports gemail/docker-proreports
Info!

The best solution is to create shared filesystems based on gluster. Then, after a failure of the proreports service on one node in SWARM cluster, it will be able to run without problems on another node.

Make own container image for ProReports

mkdir /tmp/build
  • copy file ProReports.utf8-lin.tar.gz to directory /tmp/build
cp ProReports.utf8-lin.tar.gz /tmp/build
  • make file Dockerfile in directory /tmp/build
FROM centos:latest
MAINTAINER YOUR_MAIL 
ENV PATH=$PATH:/usr/ProReports.utf8
ENV JAVA_HOME=/usr/ProReports.utf8/JRE/openjdk1.8.0_181
ENV TS=Europe/Warsaw

EXPOSE 8080

COPY ProReports.utf8-lin.tar.gz /usr/
RUN cd /usr/ && \ 
    tar xvzf ProReports.utf8-lin.tar.gz && \
	rm -f ProReports.utf8-lin.tar.gz && \
	export http_proxy=http://<your_proxy_ip>:3128  && \
	yum -y install wget && \
	cd /usr/ProReports.utf8 
WORKDIR /usr/ProReports.utf8
CMD ["/bin/sh","-c","/usr/ProReports.utf8/start-docker.sh"]	
Info!

Line with <your_proxy_ip> is needed if you have proxy in your network.

  • make command
docker build -t <your_account_in_docker_hub>/<name_of_image> .

for example:

docker build -t gemail/docker-proreports .


This page may have a more recent version on pmwiki.org: PmWiki:Docker, and a talk page: PmWiki:Docker-Talk.

Edit - History - Print - Recent Changes - Search
Page last modified on August 26, 2022, at 11:09 AM EST