Spaces:
Sleeping
Sleeping
File size: 2,941 Bytes
0b2c32f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
#############################
# RSTUDIO-SERVER #
# VOLUME DOCKERFILE #
#***************************#
# Set up a jupyter-lab for #
# developing using deepvats #
#############################
##############
# Base image #
##############
#FROM vrodriguezf/rstudio-server-shiny-development
# Adds rstudio server, tiyverse, devtools to rocker/cuda
FROM rocker/ml:4.2
SHELL [ "/bin/bash", "--login", "-c" ]
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC
RUN apt-get update
RUN apt-get install -y python3-pip
RUN python3 -m pip install --upgrade pip
RUN apt-get install -y python3-venv libxt-dev
## Install R packages
#COPY docker/DESCRIPTION /tmp/
COPY --chown=${UID}:${GID} docker/DESCRIPTION /tmp/
RUN ls -la /tmp/ && sleep 5
#RUN R -e "install.packages(deps_path = '/tmp/DESCRIPTION', remotes::dev_package_deps(dependencies = TRUE), repos = NULL)"
RUN R -e "devtools::install_deps('/tmp/', dependencies = TRUE)"
#RUN R -e "install.packages(c('shiny', 'pals', 'shinyWidgets', 'dygraphs', 'shinycssloaders', 'shinyjs', 'Rcpp', 'reactlog', 'pals', 'feather', 'fasttime', 'zoo', 'shinyWidgets'))"
#RUN R -e "remotes::install_github('r-lib/later')"
#RUN R -e "remotes::install_github('apache/arrow/r')"
## Install reticulate and create virtual environment using default Ubuntu installed Python
#RUN R -e "install.packages('reticulate')"
ARG USER=user
ARG UID=1000
ARG GID=1000
ENV HOME /home/$USER
ENV ENV_PREFIX $HOME/env
RUN addgroup --gid $GID $USER
RUN adduser --disabled-password \
--gecos "Non-root user" \
--uid $UID \
--gid $GID \
--home $HOME \
$USER
RUN adduser $USER sudo
RUN echo "$USER ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
ARG RETICULATE_MINICONDA_PATH=/usr/local/share/r-miniconda
ARG RETICULATE_PYTHON_ENV=/usr/virtualenvs/venv_shiny_app
ENV RETICULATE_PYTHON=${RETICULATE_PYTHON_ENV}/bin/python/
#RUN R -e "reticulate::virtualenv_create(envname='${RETICULATE_PYTHON_ENV}', python='/usr/bin/python3')"
#RUN R -e "reticulate::virtualenv_install(c('numpy', 'pandas', 'wandb', 'hdbscan'), envname='${RETICULATE_PYTHON_ENV}')"
RUN echo "RETICULATE_PYTHON_ENV=${RETICULATE_PYTHON_ENV}" >> ${HOME}/.Renviron
RUN echo "RETICULATE_PYTHON=${RETICULATE_PYTHON}" >> ${HOME}/.Renviron
## Export W&B environment variable to Rstudio
ARG WANDB_API_KEY
RUN echo "WANDB_API_KEY=${WANDB_API_KEY}" >> /${HOME}/.Renviron
# use an entrypoint script to insure conda environment is properly activated at runtime
COPY --chown=${UID}:${GID} docker/entrypoint-rstudio.sh /usr/local/bin
RUN chmod u+x /usr/local/bin/entrypoint-rstudio.sh
ENTRYPOINT [ "/usr/local/bin/entrypoint-rstudio.sh" ]
# Rewrite the miniconda path environment in case it has been redefined in the compose file
RUN echo "RETICULATE_MINICONDA_PATH=${RETICULATE_MINICONDA_PATH}" >> ${HOME}/.Renviron
# make non-activate conda commands available
ENV PATH=${RETICULATE_MINICONDA_PATH}/bin:${PATH} |