roblanf / sangeranalyseR

functions to analyse sanger sequencing reads in R
MIT License
96 stars 24 forks source link

Launch shiny on bioconductor docker image #77

Closed ryamy closed 2 years ago

ryamy commented 2 years ago

Thanks for your great library, I enjoy using sangeranalyseR.

Now I am using sangeranalyseR on bioconductor-docker container. Could you kindly tell me how to access shinyapp launched via launchApp() on bioconducotr docker? Shiny app seems to wait on a different port in each launch. Is it possible to fix the shiny app waiting port? I would like to EXPOSE shiny port on docker container, but I can not because the port is different in each launch.

Thank you!

R session log is following:

>
+ launchApp(sangerContig)
+ 
> INFO [2021-12-02 07:28:41] Your input is 'SangerContig' S4 instance
INFO [2021-12-02 07:28:41] >>> outputDir : /tmp/RtmpAviZKL

Listening on http://127.0.0.1:4554
/bin/sh: 1: xdg-open: not found
  C-c C-c

> 

-- quit R session and then Restart R session --

+ launchApp(sangerContig)
+ 
> INFO [2021-12-02 07:49:14] Your input is 'SangerContig' S4 instance
INFO [2021-12-02 07:49:14] >>> outputDir : /tmp/RtmpOHVRDJ

Listening on http://127.0.0.1:6081
/bin/sh: 1: xdg-open: not found

Dockerfile is following:

From bioconductor/bioconductor_docker:devel

EXPOSE 8787 # rstudio
EXPOSE 3838 # shiny default
# EXPOSE xxxx # which port should I specify for launchApp()?
ryamy commented 2 years ago

By setting shiny.port and shiny.host on R session, I can access the shiny ui from my localhost. Thanks!!

# in this case
options(shiny.port = 3838, shiny.host = '0.0.0.0')