This tutorial is describing how to quickly set up jsreport server on Microsoft Azure linux app service and start creating pdf or excel reports in no time. Please note you can also run jsreport on azure VMs or in cloud service, but the default app service running on windows doesn't support pdf rendering and you need to follow this tutorial and set up the linux app service instead.
The first you need to open azure portal and create the linux app service.
The next you have to switch the app service container to docker hub and pick up the image from the jsreport docker hub repository. Lets pick
jsreport/jsreport:1.3.1-full for this tutorial.
Finally you wait a minute until the service is created and open it in the browser. The jsreport studio pops up and you can start to play with it.
Later you may need to configure jsreport. The easiest way is to use the environment variables which can be set right in the
Application Settings in the azure portal.
Lets enable jsreport authentication for example by setting the following variables
Wait couple of seconds to propagate the change into the service and refresh the jsreport studio. You should see the login screen.
This was just one of the many configuration options you may need. Please find more configuration options in the documentation.
You would soon realize that the stored templates are lost if you restart the app service. This is because the jsreport stores the data by default right in the container. You may rather want to store the templates in the external database and obvious choice in azure is the azure sql server.
Now you should create the sql database and copy paste its connection string.
Now you need to paste the connection string as environment variable and configure jsreport to use it. Note you should only paste the part of the connection string like on the following example.
connectionString:name=mssql connectionString:uri=Server=tcp:jsreport-test.database.windows.net,1433;Initial Catalog=test;Persist Security Info=False;User ID=jsreport;Password=xxx;MultipleActiveResultSets=False;Encrypt=True;
That is it. The service should now automatically apply the settings and your templates will be stored inside the sql database.