Starting container is slow via Shiny Proxy

Hi all,

I have created a very simple “hello world” Shiny application, Dockerfile config, and Shiny Proxy application.yml config, and notice that the startup time for the docker container via ShinyProxy is much slower than a direct startup time via docker’s “docker run”…

If I start the container directly via docker, the startup time is around 0.6 seconds, but if I start the container via ShinyProxy, by opening the relevant URL (after having started ShinyProxy, obviously) the startup time is over 3 seconds.

My app.R consists of

shiny::shinyApp(
ui = shiny::shinyUI(shiny::fluidPage(“Hello, everyone!”)),
server = function(input, output, session) {}
)

My Dockerfile config consists of

FROM r_base_4.1.2
RUN R -e “install.packages(‘shiny’, repos=‘https://cloud.r-project.org/’)”
RUN mkdir /root/hello
COPY hello /root/hello
COPY Rprofile.site /usr/lib/R/etc/
EXPOSE 3838
CMD [“R”, “-e”, “shiny::runApp(‘/root/hello’)”]

And my application.yml consists of

proxy:
specs:

  • id: hello_shiny_proxy_test
    display-name: Hello world!
    container-image: hello_shiny_proxy

Can anyone explain why shinyproxy is so much slower, how I can see where this time is spent on, and how I can improve this startup time?

Thanks in advance!

1 Like

Also curious about this.

Through Docker Swarm, start-up time is ~ 10 seconds. So from that perspective, I was happy to get ~4 seconds without Swarm.