Shinyproxy with Rdevel


#1

Well, I’ve been trying to use shinyproxy with the R development version, to work with an app that I’m developing.

I’ve tried to use the shinyproxy-demo image with an installation of Rdevel instead of R, but when shinyproxy starts, shows me the error Container did not respond in time.

My Dockerfile:

## Emacs, make this -*- mode: sh; -*-

## start with the Docker 'base R' Debian-based image
FROM r-base:latest

## This handle reaches Carl and Dirk
MAINTAINER "Carl Boettiger and Dirk Eddelbuettel" rocker-maintainers@eddelbuettel.com

## Remain current
RUN apt-get update -qq \
	&& apt-get dist-upgrade -y

## From the Build-Depends of the Debian R package, plus subversion
RUN apt-get update -qq \
	&& apt-get install -t unstable -y --no-install-recommends \
		bash-completion \
		bison \
		debhelper \
		default-jdk \
		g++ \
		gcc \
		gdb \
		gfortran \
		groff-base \
		libblas-dev \
		libbz2-dev \
		libcairo2-dev/unstable \
		libcurl4-openssl-dev \
		libjpeg-dev \
		liblapack-dev \
		liblzma-dev \
		libncurses5-dev \
		libpango1.0-dev \
		libpcre3-dev \
		libpng-dev \
		libreadline-dev \
		libtiff5-dev \
		libx11-dev \
		libxt-dev \
		mpack \
		subversion \
		tcl8.6-dev \
		texinfo \
		texlive-base \
		texlive-extra-utils \
		texlive-fonts-extra \
		texlive-fonts-recommended \
		texlive-generic-recommended \
		texlive-latex-base \
		texlive-latex-extra \
		texlive-latex-recommended \
		tk8.6-dev \
		x11proto-core-dev \
		xauth \
		xdg-utils \
		xfonts-base \
		xvfb \
		zlib1g-dev

## Check out R-devel
RUN cd /tmp \
&& svn co https://svn.r-project.org/R/trunk R-devel

## Build and install according the standard 'recipe' I emailed/posted years ago
RUN cd /tmp/R-devel \
	&& R_PAPERSIZE=letter \
		R_BATCHSAVE="--no-save --no-restore" \
		R_BROWSER=xdg-open \
		PAGER=/usr/bin/pager \
		PERL=/usr/bin/perl \
		R_UNZIPCMD=/usr/bin/unzip \
		R_ZIPCMD=/usr/bin/zip \
		R_PRINTCMD=/usr/bin/lpr \
		LIBnn=lib \
		AWK=/usr/bin/awk \
		CFLAGS=$(R CMD config CFLAGS) \
		CXXFLAGS=$(R CMD config CXXFLAGS) \
	./configure --enable-R-shlib \
               --without-blas \
               --without-lapack \
               --with-readline \
               --without-recommended-packages \
               --program-suffix=dev \
	&& make \
	&& make install \
	&& rm -rf /tmp/R-devel

# set host and port
COPY Rprofile.site /usr/lib/R/etc/

## Set Renviron to get libs from base R install
RUN echo "R_LIBS=\${R_LIBS-'/usr/local/lib/R/site-library:/usr/local/lib/R/library:/usr/lib/R/library'}" >> /usr/local/lib/R/etc/Renviron

## Set default CRAN repo
RUN echo 'options(repos = c(CRAN = "https://cran.rstudio.com/"), download.file.method = "libcurl")' >> /usr/local/lib/R/etc/Rprofile.site

RUN cd /usr/local/bin \
&& mv R Rdevel \
&& mv Rscript Rscriptdevel \
&& ln -s Rdevel RD \
&& ln -s Rscriptdevel RDscript

RUN apt-get install -y libssl-dev
RUN apt-get install -y libxml2-dev

# packages needed for basic shiny functionality
RUN Rdevel -e "install.packages('shiny', repos='https://cloud.r-project.org')"
RUN Rdevel -e "install.packages('shinyTree', repos='https://cloud.r-project.org/')"
RUN Rdevel -e "install.packages('shinyjs', repos='https://cloud.r-project.org/')"
RUN Rdevel -e "install.packages('shinythemes', repos='https://cloud.r-project.org/')"
RUN Rdevel -e "source('https://bioconductor.org/biocLite.R'); biocLite('graph')"
RUN Rdevel -e "source('https://bioconductor.org/biocLite.R'); biocLite('RBGL')"
RUN Rdevel -e "source('https://bioconductor.org/biocLite.R'); biocLite('Rgraphviz')"

COPY VariantF /root/VariantF

EXPOSE 3838

CMD ["Rdevel", "-e", "shiny::runApp('/root/VariantF')"]

#2

Hi @JJFernandez,

Trying to run the image manually as described in https://www.shinyproxy.io/troubleshooting/ might help to identify the problem.


#3

@mnazarov Already did it. I’ve tried to execute the Docker without shinyproxy and it worked, not with shinyproxy.


#4

Do you see anything in the logs? You may find enabling container-logs useful (see https://www.shinyproxy.io/configuration/#reporting-issues)