-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathDockerfile
70 lines (55 loc) · 2.55 KB
/
Dockerfile
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
FROM rocker/verse:4.2.2
MAINTAINER Alfredo Garbuno Iñigo "[email protected]"
# Lets declare some user variables =============================================
ENV RSTUDIO_USER rstudio
ENV TARGET_DIR ""
ENV RUNNING_IN_DOCKER true
ENV CMDSTAN /home/.cmdstan
# Lets declare the work directory ==============================================
RUN adduser $RSTUDIO_USER sudo
WORKDIR /home/$RSTUDIO_USER/
# Instalamos herramientas: htop (monitoreo) y librerias que necesita R para ====
# compilar paquetes
RUN apt-get install --no-install-recommends -qq wget ca-certificates make g++
RUN apt-get update \
&& apt-get install -y libmagick++-dev htop tree \
&& apt-get install -y python3-pip libfontconfig1-dev
RUN pip3 --version \
&& pip3 install radian
# Latex ========================================================================
RUN tlmgr install amsmath latex-amsmath-dev iftex kvoptions \
ltxcmds kvsetkeys etoolbox xcolor geometry fancyvrb framed booktabs \
auxhook bigintcalc bitset etexcmds gettitlestring hycolor hyperref \
intcalc kvdefinekeys letltxmacro pdfescape refcount rerunfilecheck \
stringenc uniquecounter zapfding pdftexcmds infwarerr epstopdf-pkg mdwtools \
awesomebox fontawesome5
# Clean up =====================================================================
RUN apt-get clean all \
&& apt-get purge \
&& rm -rf /tmp/downloaded_packages \
&& rm -rf /var/lib/apt/lists/*
RUN strip /usr/local/lib/R/site-library/*/libs/*.so
# Setup renv workspace =========================================================
ENV RENV_PATHS_ROOT /home/local/.renv
RUN mkdir -p $RENV_PATHS_ROOT
COPY renv.lock renv.lock
COPY .Rprofile .Rprofile
COPY renv/activate.R renv/activate.R
COPY renv/settings.dcf renv/settings.dcf
RUN install2.r --error rmarkdown languageserver
WORKDIR /home/.cmdstan
RUN wget --progress=dot:mega https://github.com/stan-dev/cmdstan/releases/download/v2.30.1/cmdstan-2.30.1.tar.gz \
&& tar -zxpf cmdstan-2.30.1.tar.gz \
&& ln -s cmdstan-2.30.1 .cmdstan \
&& cd .cmdstan; make build
WORKDIR /home/$RSTUDIO_USER/
RUN R -e "renv::restore()"
RUN rm -rf renv.lock .Rprofile renv
# Aseguramos que podemos trabajar desde ~/rstudio/home =========================
RUN chown -R $RSTUDIO_USER:staff /home/$RSTUDIO_USER/
VOLUME [ "/home/$RSTUDIO_USER/$TARGET_DIR" ]
# Good lookin terminals ========================================================
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.2/zsh-in-docker.sh)" -- \
-a 'CASE_SENSITIVE="true"' \
-t robbyrussell \
-p git