misantamaria commited on
Commit
0b2c32f
1 Parent(s): 2440321

Dockerfile added

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