Search code examples
dockerbokehshinyproxy

running bokeh on shinyproxy using docker


We use shinyproxy to host and run our apps. So far we only deployed R Shiny apps and now I want to try bokeh as well.

Is this generally possible or does it only work for dash?

As entry point for the docker I use:

#!/bin/bash
set -e
cd /bokeh-app
exec /opt/conda/bin/bokeh serve . \
--port 81 \
--address 0.0.0.0 \
--use-xheaders \
--allow-websocket-origin=*

within the docker the entrypoint is located in /usr/local/bin/entrypoint.sh

in the .yml file I specified the link to the app (under specs) as:

  - id: bokeh_test_app
    display-name: Bokeh Test App
    container-image: bokeh-test-app:latest

concerning the container-cmd I am not sure how to start the container via the entrypoint or via a command. I guess

container-cmd: ["sh", "usr/local/bin/entrypoint.sh"]

is wrong. When I start shinyproxy I get the error

Container unresponsive

any help appreciated!


Solution

  • A colleague of mine fonud the solution: Bokeh adds the folder name of the location where the app is located which cannot be located by shinyproxy. The main file of the bokeh app thus needs to be copied to the /root. In the docker I copied the application to the container via:

    COPY bokeh_test/* /bokeh_test/
    

    but it should be:

    COPY bokeh_test/* /