Template and demo results with empty page

Hi!
I was trying to run demo apps and get a problem with proxy.
All images are in, shiny apps run directly from images without problems. But starting ShinyProxy, I get an empty page on localhost:8080, there is just clickable sign “ShinyProxy” in top right corner.
Trying to open apps using direct url results with this:

Error
Status code: 500>
Message: Unknown proxy spec: euler

or

Error
Status code: 500>
Message: Unknown proxy spec: 01_hello

I’ve checked all steps in tutorial, docker is configured as it required. The only changes I’ve made were addresses to files (saved shinyproxy-template in custom folder). System is Ubuntu 16.04.

Please help.

Hi @Dmitry_Ozernov,
Do you use the latest version of shinyproxy? Do you see any errors in the log?

Hi @mnazarov!

Yes, the problem is with 2.0.1. and 2.0.0. versions.
When I’ve tried 1.1.1. version - it works ok, I see authentication, can log in (tesla/password) and see Hello app and Tabset app. Don’t see euler app in is, but this is probably because I don’t change application-demo.yml file.

Somehow (don’t really know how it happen and wasn’t able to replicate it) after switching versions I got login (without logo) page on 2.0.1. version, but after logging in get 405 error (method not allowed).

In console I see only problem with profile (that it can’t get a profile and uses default). And starting time differs a lot between 1.1.1. (50 seconds) and 2.0.1. (6 seconds). Don’t know where to find log files.

Seems like a problem with application.yml, but if I understand it correct then this file is not necessary in demo, right?

If you are switching from one version to another it could be related to some cookie settings, so maybe you can try in a clean session (e.g. in a private window).

I believe the behaviour when the application.yml is not provided has changed from version 2.0, so you need to provide a file. Also note that the format of the file is changed from version 1.1 to 2.0, maybe this could be the reason - see https://www.shinyproxy.io/configuration/

The log file location is defined in the application.yml, with the default being the folder from which shinyproxy is started (or /etc/shinyproxy if run as a service), but it will show the same things that are output in the console.

I’ve found a solution.
The problem is with 2.0.1. jar file - it can’t take application.yml file from it’s location (as it’s stated in manual):

If the default values must be overridden, this can be done by adding a file application.yml in the same folder where you launch the shinyproxy-*.jar file and specify properties in the YAML format.

  1. With 2.0.1. you need to create application.yml file even if you are fine with default values, just because it is absent in jar archive.
  2. application.yml file SHOULD be located INSIDE jar archive in folder /BOOT-INF/classes/

Hope this will help, because this step (create application.yml and place it inside jar archive) is not mentioned in manual.

PS. Didn’t get the difference between container-cmd syntax in old and new versions (“shinyproxy::run_01_hello()” vs “shiny::runApp(’/root/euler’)”) - looks like in new version shiny app is started using standard shiny package, not shinyproxy.

1 Like

Hi @Dmitry_Ozernov,

You are right about the missing default yml file; this was an oversight and will be fixed in the next update, 2.0.2.

1 Like

In fact you don’t need to put your custom application.yml inside the .jar file…
Please note that the application.yml should be located in the current directory (from where you run the shinyproxy), not necessary next to the .jar file itself.

PS. Didn’t get the difference between container-cmd syntax in old and new versions (“shinyproxy::run_01_hello()” vs “shiny::runApp(’/root/euler’)”) - looks like in new version shiny app is started using standard shiny package, not shinyproxy.

In this regard nothing has changed from 1.x to 2.x: as before any valid R command that starts a shiny application is allowed. If the shiny app is located within a package with a corresponding helper function defined (as is the case in the first example) it can be run by calling this function. If an application just sits in a folder it can be launched with the default shiny::runApp call.

This is strange, when I tested it last time, also tried to run jar from the folder with yml file - had the same problem, tested it now - it works.
Probably I was using yml file from older versions.

Thank you for the help!

1 Like