Setting Up JSReports on Azure App Service
-
Sorry for troubles. Could you try this settings and let me know if it works for you? It does for me on brand new app service on S1 plan.
-
Tried the below :
- Threw away the Resource Group
- Created a fresh App Service Plan in S1 at West Europe DataCenter and pulled the 2.0.0-full docker Image
- The App Started Normally and behaved well just like the SaaS Solution
- Now added the 3 appsettings as shown in the prev thread by @jan_blaha .. After adding the appsettings i ran into the below exception and the WebApp started showing "Service Unavailable"
- Tried restarting the webapp several times but no effect
2018-05-30 20:11:31.522 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}
-
Hm. Could you try to download full logs and inspect them?
I use this button for it
-
Am sorry to push this back and forth... Hereby the logs and it's not leading to any clues.. may be i will try again to create another app service and see what happens
2018-05-30 19:54:14.043 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 19:54:14.735 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 19:54:15.393 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:07:51.833 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
a48c500ed24e: Pulling fs layer
1e1de00ff7e1: Pulling fs layer
0330ca45a200: Pulling fs layer
471db38bcfbf: Pulling fs layer
0b4aba487617: Pulling fs layer
4a839d81d5bd: Pulling fs layer
0921452ce39b: Pulling fs layer
6e6a5a2a5e4d: Pulling fs layer
edfe24e2a9ab: Pulling fs layer
29e2bfa14681: Pulling fs layer
7d0c81ff464b: Pulling fs layer
0921452ce39b: Verifying Checksum
0921452ce39b: Download complete
0330ca45a200: Verifying Checksum
0330ca45a200: Download complete
29e2bfa14681: Verifying Checksum
29e2bfa14681: Download complete
1e1de00ff7e1: Verifying Checksum
1e1de00ff7e1: Download complete
471db38bcfbf: Verifying Checksum
471db38bcfbf: Download complete
0b4aba487617: Verifying Checksum
0b4aba487617: Download complete
7d0c81ff464b: Verifying Checksum
7d0c81ff464b: Download complete
a48c500ed24e: Verifying Checksum
a48c500ed24e: Download complete
6e6a5a2a5e4d: Verifying Checksum
6e6a5a2a5e4d: Download complete
edfe24e2a9ab: Verifying Checksum
edfe24e2a9ab: Download complete
4a839d81d5bd: Verifying Checksum
4a839d81d5bd: Download complete
a48c500ed24e: Pull complete
1e1de00ff7e1: Pull complete
0330ca45a200: Pull complete
471db38bcfbf: Pull complete
0b4aba487617: Pull complete
4a839d81d5bd: Pull complete
0921452ce39b: Pull complete
6e6a5a2a5e4d: Pull complete
edfe24e2a9ab: Pull complete
29e2bfa14681: Pull complete
7d0c81ff464b: Pull complete
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Downloaded newer image for jsreport/jsreport:2.0.0-full2018-05-30 20:07:52.000 INFO - Starting container for site
2018-05-30 20:07:52.003 INFO - docker run -d -p 16863:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full2018-05-30 20:07:52.005 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:08:21.320 INFO - Container ci-pdfservice_0 for site ci-pdfservice initialized successfully.
2018-05-30 20:10:24.603 INFO - Recycling container because of AppCommandLineChange and appCommandLine = jsreport/jsreport:2.0.0-full
2018-05-30 20:10:24.653 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:10:25.603 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:10:26.606 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:10:28.796 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:10:28.833 INFO - Starting container for site
2018-05-30 20:10:28.835 INFO - docker run -d -p 30253:5488 --name ci-pdfservice_1 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:10:28.842 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:10:32.602 ERROR - Container start failed for ci-pdfservice_1 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:11:12.547 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:11:13.318 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:11:14.029 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:11:15.498 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:11:15.557 INFO - Starting container for site
2018-05-30 20:11:15.565 INFO - docker run -d -p 16693:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:11:15.567 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:11:18.014 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:11:25.744 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:11:26.454 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:11:27.248 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:11:28.617 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:11:28.655 INFO - Starting container for site
2018-05-30 20:11:28.657 INFO - docker run -d -p 44835:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:11:28.663 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:11:31.522 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:15:12.026 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:15:12.676 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:15:13.408 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:15:14.590 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:15:14.610 INFO - Starting container for site
2018-05-30 20:15:14.612 INFO - docker run -d -p 2400:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:15:14.614 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:15:16.446 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:15:47.876 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:15:49.194 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:15:50.231 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:15:51.454 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:15:51.475 INFO - Starting container for site
2018-05-30 20:15:51.477 INFO - docker run -d -p 31995:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:15:51.479 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:15:53.074 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:19:32.666 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:19:33.647 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:19:34.563 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:19:36.008 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:19:36.025 INFO - Starting container for site
2018-05-30 20:19:36.033 INFO - docker run -d -p 39611:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:19:36.035 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:19:37.579 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:19:38.590 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:19:39.244 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:19:39.948 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:19:41.166 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:19:41.187 INFO - Starting container for site
2018-05-30 20:19:41.187 INFO - docker run -d -p 57262:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:19:41.187 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:19:42.646 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:21:18.961 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:21:19.659 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:21:20.411 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:21:21.834 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:21:21.853 INFO - Starting container for site
2018-05-30 20:21:21.861 INFO - docker run -d -p 44492:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:21:21.863 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:21:25.314 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}2018-05-30 20:21:26.781 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:21:27.857 INFO - Issuing docker pull: imagename =jsreport/jsreport:2.0.0-full
2018-05-30 20:21:28.881 INFO - Issuing docker pull jsreport/jsreport:2.0.0-full
2018-05-30 20:21:30.417 INFO - docker pull returned STDOUT>> 2.0.0-full: Pulling from jsreport/jsreport
Digest: sha256:f2e520cfcd7334cb493f5b899dfc98d2b4b17f06a6adb6079996912df7321a4f
Status: Image is up to date for jsreport/jsreport:2.0.0-full2018-05-30 20:21:30.465 INFO - Starting container for site
2018-05-30 20:21:30.473 INFO - docker run -d -p 4562:5488 --name ci-pdfservice_0 -e WEBSITE_SITE_NAME=ci-pdfservice -e WEBSITE_AUTH_ENABLED=False -e PORT=5488 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=d37dd5d8d249680769964d49ae34d93033db5d8a5c23d0b50e194ca5c352350f jsreport/jsreport:2.0.0-full jsreport/jsreport:2.0.0-full2018-05-30 20:21:30.475 INFO - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2018-05-30 20:21:34.186 ERROR - Container start failed for ci-pdfservice_0 with System.AggregateException, One or more errors occurred.
InnerException: Docker.DotNet.DockerApiException, Docker API responded with status code=BadRequest, response={"message":"OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"jsreport/jsreport:2.0.0-full\": stat jsreport/jsreport:2.0.0-full: no such file or directory": unknown"}
-
1.I re-tried deploying the docker image to a fresh S1 Plan again and this time just added the authentication to true in Appsetting.
2.Stopped and Restarted the webApp and then added the username and password- Now Stopped and Restarted the WebApp Agin and things started working normally with a nice Login Screen
- Now tried adding all the settings required for connecting to a storage account and then the app broke and never restarted again and ended up in service unavailable
So Moral of the story, I am in a better shape than yesterday but could not get the connection to storage working in order to persist the templates. Let me know when you see some way forward !!
-
Great. Good news.
The current docker image contains bug in azure blob storage driver. We will release hotfix during the CET evening.
-
Super :) :) :) You guys have been the fastest in the community to solve things ! Am waiting for the new build then
-
OK the
2.1.0
is out. Please follow these steps.- Stop your web app
- Delete
jsreport
container in your blob storage (backup it if there is something you need) - Change the web app docker image to
jsreport/jsreport:2.1.0-full
- Additionally add this app settings as it is required to be explicitly set in 2.1.0
extensions_authentication_cookieSession_secret=yoursecrethere
- Start web app
-
Do you need a Azure Service Bus Resource to configure the solution ? I see that ...
"In case you want to run multiple instances of jsreport you need to create also service bus."... But I believe this is in cases where the app service running the jsreports image is scaled out to multiple instances.. Is that correct ?
-
Yes that is correct. The service bus is used to notify the other servers about changes so they can reload the data. In case you have just single server there is no need for it.
-
Am glad to confirm that the 2.1.0 build is working as expected. Both Authentication and Template Persistence Works Like a breeze. Can't wait to roll it down to all projects within the department. Thank you so much.
-
Hi, loving jsreport and need to get the persistance in Azure working asap. I've followed the instructions here https://jsreport.net/blog/render-reports-using-azure-app-service with no luck, I just get "service unavailable". When configuring an Azure Storage account do I need create a jsreport container in the blob service (shown in Rajkumar's screenshot above) or is this generated automatically. Hopefully this is the right place for this comment as I came here during my search for an answer.
-
Yes, You have to create the container yourself !! I'll give you a easy tip. I scripted the entire setup of jsreport in Azure.. so u just have to right click and deploy and that should work like a charm .. read my blog post and if there are questions I will be glad to assist “Continuous Integration for JSReport on Azure AppService - Part 1” @iRajBalakrish https://medium.com/@rajkumarb/continuous-integration-for-js-reports-on-azure-appservice-part-1-2a81aa55e06
-
Rajkumar, you are a genius, having a working deployment allowed me to see where I was going wrong too. Thanks very much mate.
-
Cool !! Did you have a chance to use the ARM template ?