#1 2024-06-08 14:20:31

ianef
Member
From: UK
Registered: 2024-05-04
Website

Docker setup and report images not working.

I've been setting up a development system in order to assist my customer with migration from Jasper Reports CE after its demise.

I decided to use a docker image on my dev system as it's not something I need to run everyday, just once in a while when working on reports.

There is not a lot of documentation about how to do this, however I went to to the following page to try and get some idea of best practices when doing this:
https://hub.docker.com/r/infofabrik/rep … enterprise

There are no instructions here on setting up a new instance, I feel there should be, but looking further down the page I found some instructions about upgrading so I took that as my template and used this command:

docker run -it -p 8081:8080 infofabrik/reportserverenterprise:4.6.3.6104-standalone

All good so far although logging in was a scrabble to find some documentation, eventually I found a post saying root,root which worked. Again this would be very useful if added to the docker install page.

I defined and uploaded a jasper report. Added an image to the File System. Defined a Global Constant for the image so it can get replaced by report parameter conversion. Set the Permissions and added users. All should be well as this detail was copied from a test system at my customers.

Running the report crashed:
Report could not be executed. {"error":"ConnectException: Connection refused","report_id":5578,"report_name":"Current Stock","base_report_id":5578,"base_report_name":"Current Stock","executing_user_id":10,"report_output_format":"PDF","report_uuid":"f476cc6e-e674-4630-987e-f3c521ab52ed"} net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: ConnectException: Connection refused at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:280)

Further down the logs I found:
Error opening input stream from URL: http://localhost:8081/reportserver/fileServerAccess?id=5464
This is my logo image from the Global Constant conversion.

Given that 8081 is the port on the host, I updated the Global Constant to use 8080 which is the internal port. This fixed the problem but it just looks really weird.

Can I suggest some update to the docker images page please.

A how to install section detailing the commands to use, and use the same port for internal and host, and explain why. Provide the root credentials to login for the first time and what to do to secure the server.

Also, your naming standards for the images is weird for standalone ones. Why not have infofabrik/reportserverenterprise-standalone, you can then do infofabrik/reportserverenterprise-standalone:latest and not have to go searching for the latest version number, which may be ahead of the docker image if there is a delay in publishing these.

Many thanks, Ian.

Offline

#2 2024-06-10 08:24:28

Felix
Moderator
Registered: 2022-08-01

Re: Docker setup and report images not working.

My appologies!

The dockerimages haven't got much care from me (i am the one who created and tries to maintain them) in the past ...

changing the naming for versions is a valid point! I will keep that in mind. If I recall my work correctly the idea was to keep everything in one repository (reportserverenterprise and reportserverenterprise-standalone are two different repositories). No one stops me from creating a "latest" and a "latest-standalone" tag wink

In the future (please don't ask for a schedule tongue ) there is planned that you can use a external config directory just like in a normal reportserver installation. This gives you the option to set passwords to make your installation more secure.

An slightly refined documentation of the docker repository is currently in writing. I will add articles for further reading and the default passwords!

As for your problems with the ports: this is default docker behaviour!

docker run -it -p 8081:8080 infofabrik/reportserverenterprise:4.6.3.6104-standalone

just maps the port 8081 OUTSIDE of the container to the port 8080 of the INSIDE of the container! if you link from inside of the container to a port inside the same container (this localhost is inside... the host, who is running the docker has also a localhost ) you have to use the inside-port.
More technically: everything you create inside of the reportserver itself (scripts, reports, ... ) is rendered by the reportserver => inside of your container (references have to use 8080). Webapps (and HTML-Reports) are rendered by your browser => outside of the container (references have to use 8081)!

you can access your container via IP (which is difficult on its own) or the container name.

kind Regards (and many appologies)

Felix


Softwareentwickler bei Infofabrik

Offline

#3 2024-06-10 08:37:59

ianef
Member
From: UK
Registered: 2024-05-04
Website

Re: Docker setup and report images not working.

Thanks Felix. I'll look forward to reading the new documentation when you publish it.

Do you want to keep this issue open and respond to it when that's been completed? That will provide a communication link and alert me to changes.

Offline

Board footer

Powered by FluxBB