misantamaria commited on
Commit
00384fe
·
1 Parent(s): 0cb24ab

dockerfile.py version

Browse files
Files changed (8) hide show
  1. Dockerfile +19 -26
  2. Dockerfile.base +72 -0
  3. Dockerfile.py +61 -0
  4. Dockerfile.rstudio +14 -0
  5. Dockerfile_bkup +211 -0
  6. local_build_base_image.sh +13 -0
  7. settings.ini +26 -0
  8. setup.py +46 -0
Dockerfile CHANGED
@@ -13,7 +13,7 @@
13
  # Base image #
14
  ##############
15
  # Adds rstudio server, tiyverse, devtools to rocker/cuda
16
- FROM rocker/ml:4.2
17
 
18
  RUN echo "--> Prior installations" \
19
  apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC \
@@ -34,8 +34,8 @@ SHELL [ "/bin/bash", "--login", "-c" ]
34
  # Ensure vars # (Only for local test - DON'T USE IT IN HUGGINGFACE. ENSURE .env IS NOT ACCESIBLE IN THE WEB, USE THEIR SECRET MANAGEMENT)
35
  ###############
36
  RUN echo "--> ARGS"
37
- ARG USER_NAME \
38
- USER_ID \
39
  GROUP_ID \
40
  WANDB_API_KEY \
41
  WANDB_ENTITY \
@@ -63,36 +63,18 @@ ENV RETICULATE_PYTHON_ENV=/home/${USER_NAME}/env \
63
  # Volumes #
64
  ###########
65
 
66
- RUN echo "---> Setup volumes" \
67
- echo ${HOME} \
68
- echo ${USER_NAME}"|"${USER_ID}"|"${GROUP_ID}
69
 
70
- COPY --chown=${USER_ID}:${GROUP_ID} ../r_shiny_app $HOME/app
71
- COPY --chown=${USER_ID}:${GROUP_ID} ${LOCAL_DATA_PATH} $HOME/data/
72
- COPY --chown=${USER_ID}:${GROUP_ID} ../dvats ${HOME}/dvats
73
 
74
 
75
  ## Install R packages
76
 
77
- #COPY docker/DESCRIPTION /tmp/
78
  COPY --chown=${USER_ID}:${GROUP_ID} docker/DESCRIPTION /tmp/
79
 
 
 
80
 
81
- RUN echo "--> Install R packages"
82
-
83
- #RUN R -e "install.packages(deps_path = '/tmp/DESCRIPTION', remotes::dev_package_deps(dependencies = TRUE), repos = NULL)"
84
-
85
- RUN R -e "devtools::install_deps('/tmp/', dependencies = TRUE)"
86
-
87
- #RUN R -e "install.packages(c('shiny', 'pals', 'shinyWidgets', 'dygraphs', 'shinycssloaders', 'shinyjs', 'Rcpp', 'reactlog', 'pals', 'feather', 'fasttime', 'zoo', 'shinyWidgets'))"
88
- #RUN R -e "remotes::install_github('r-lib/later')"
89
- #RUN R -e "remotes::install_github('apache/arrow/r')"
90
-
91
- ## Install reticulate and create virtual environment using default Ubuntu installed Python
92
- #RUN R -e "install.packages('reticulate')"
93
-
94
-
95
-
96
  ENV ENV_PREFIX $HOME/env
97
 
98
  RUN echo "---> Make sudo & setup sudoers"
@@ -128,12 +110,13 @@ RUN echo "HOME: ${HOME} | CONDA_DIR = ${CONDA_DIR}" \
128
  && rm ~/miniconda.sh
129
 
130
  # Make conda activate command available from /bin/bash --login shells
131
- RUN echo ". $CONDA_DIR/etc/profile.d/conda.sh" >> ~/.profile
132
  # make conda activate command available from /bin/bash --interative shells
133
  RUN conda init bash \
134
  # create a project directory inside user home
135
  && mkdir -p $PROJECT_DIR
136
 
 
137
  WORKDIR $PROJECT_DIR
138
  ##########################
139
  # Install & update MAMBA #
@@ -183,6 +166,15 @@ RUN echo "--> Permissions"
183
 
184
  RUN echo "$(id )"
185
 
 
 
 
 
 
 
 
 
 
186
  #RUN echo "--> Setup miniconda & Mamba"
187
 
188
  #RUN echo ". ${HOME}miniconda3/etc/profile.d/conda.sh" >> ${HOME}/rstudio/.bashrc
@@ -204,6 +196,7 @@ RUN echo "---> Setup variables" && \
204
  echo "$ENV_VAR_NAME=$ENV_VAR_VALUE"; \
205
  done > ${HOME}/.Renviron
206
 
 
207
 
208
  RUN pip install -e /home/${USER_NAME}/work
209
  RUN echo "--> Go!"
 
13
  # Base image #
14
  ##############
15
  # Adds rstudio server, tiyverse, devtools to rocker/cuda
16
+ FROM dvats-rstudio-base:latest
17
 
18
  RUN echo "--> Prior installations" \
19
  apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC \
 
34
  # Ensure vars # (Only for local test - DON'T USE IT IN HUGGINGFACE. ENSURE .env IS NOT ACCESIBLE IN THE WEB, USE THEIR SECRET MANAGEMENT)
35
  ###############
36
  RUN echo "--> ARGS"
37
+ ARG USER_NAME=user \
38
+ USER_ID=1000 \
39
  GROUP_ID \
40
  WANDB_API_KEY \
41
  WANDB_ENTITY \
 
63
  # Volumes #
64
  ###########
65
 
 
 
 
66
 
 
 
 
67
 
68
 
69
  ## Install R packages
70
 
71
+ # COPY docker/DESCRIPTION /tmp/
72
  COPY --chown=${USER_ID}:${GROUP_ID} docker/DESCRIPTION /tmp/
73
 
74
+ RUN echo "--> Install R packages" \
75
+ R -e "devtools::install_deps('/tmp/', dependencies = TRUE)"
76
 
77
+ ## Reticulate configuration
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  ENV ENV_PREFIX $HOME/env
79
 
80
  RUN echo "---> Make sudo & setup sudoers"
 
110
  && rm ~/miniconda.sh
111
 
112
  # Make conda activate command available from /bin/bash --login shells
113
+ RUN echo ". $CONDA_DIR/etc/profile.d/conda.sh" >> $HOME/.profile
114
  # make conda activate command available from /bin/bash --interative shells
115
  RUN conda init bash \
116
  # create a project directory inside user home
117
  && mkdir -p $PROJECT_DIR
118
 
119
+
120
  WORKDIR $PROJECT_DIR
121
  ##########################
122
  # Install & update MAMBA #
 
166
 
167
  RUN echo "$(id )"
168
 
169
+ ### Copy deepvats
170
+ RUN echo "---> Setup volumes" \
171
+ echo ${HOME} \
172
+ echo ${USER_NAME}"|"${USER_ID}"|"${GROUP_ID}
173
+
174
+ COPY --chown=${USER_ID}:${GROUP_ID} ../r_shiny_app $HOME/app
175
+ COPY --chown=${USER_ID}:${GROUP_ID} ${LOCAL_DATA_PATH} $HOME/data/
176
+ COPY --chown=${USER_ID}:${GROUP_ID} ../dvats ${HOME}/dvats
177
+
178
  #RUN echo "--> Setup miniconda & Mamba"
179
 
180
  #RUN echo ". ${HOME}miniconda3/etc/profile.d/conda.sh" >> ${HOME}/rstudio/.bashrc
 
196
  echo "$ENV_VAR_NAME=$ENV_VAR_VALUE"; \
197
  done > ${HOME}/.Renviron
198
 
199
+ # Install deepvats
200
 
201
  RUN pip install -e /home/${USER_NAME}/work
202
  RUN echo "--> Go!"
Dockerfile.base ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #R-Shiny template https://huggingface.co/spaces/posit/shiny-for-r-template/tree/main
2
+ #Py-shiny template https://huggingface.co/spaces/posit/gptneox-chat
3
+
4
+ #############################
5
+ # RSTUDIO-SERVER #
6
+ # VOLUME DOCKERFILE #
7
+ #***************************#
8
+ # Set up a jupyter-lab for #
9
+ # developing using deepvats #
10
+ #############################
11
+
12
+ ##############
13
+ # Base image #
14
+ ##############
15
+ # Adds rstudio server, tiyverse, devtools to rocker/cuda
16
+ FROM rocker/ml:4.2
17
+
18
+
19
+
20
+ ###############
21
+ # Ensure vars # (Only for local test - DON'T USE IT IN HUGGINGFACE. ENSURE .env IS NOT ACCESIBLE IN THE WEB, USE THEIR SECRET MANAGEMENT)
22
+ ###############
23
+ RUN echo "--> ARGS"
24
+ ARG USER_NAME \
25
+ USER_ID \
26
+ GROUP_ID \
27
+ WANDB_API_KEY \
28
+ WANDB_ENTITY \
29
+ WANDB_PROJECT \
30
+ GH_TOKEN
31
+
32
+ RUN echo "--> ARGS -> ENV"
33
+ ENV USER_NAME=$USER_NAME \
34
+ USER_ID=$USER_ID \
35
+ GROUP_ID=$GROUP_ID \
36
+ WANDB_ENTITY=$WANDB_ENTITY \
37
+ WANDB_API_KEY=$WANDB_API_KEY \
38
+ GH_TOKEN=$ghtoken \
39
+ WANDB_PROJECT=$WANDB_PROJECT
40
+
41
+ RUN echo "--> Setup ENV variables"
42
+ ENV RETICULATE_PYTHON_ENV=/home/${USER_NAME}/env \
43
+ ROOT=TRUE \
44
+ RETICULATE_MINICONDA_PATH=/home/${USER_NAME}/miniconda \
45
+ CUDA_VISIBLE_DEVICES=0,1,2 \
46
+ ENV_VARS=WANDB_ENTITY,WANDB_PROJECT,USER_NAME,USER_ID,GROUP_ID,PASSWORD,ROOT,CUDA_VISIBLE_DEVICES\
47
+ HOME="/home/${USER_NAME}"
48
+
49
+ ###########
50
+ # Volumes #
51
+ ###########
52
+
53
+ RUN echo "---> Setup volumes" \
54
+ echo ${HOME} \
55
+ echo ${USER_NAME}"|"${USER_ID}"|"${GROUP_ID}
56
+
57
+ COPY --chown=${USER_ID}:${GROUP_ID} ../r_shiny_app $HOME/app
58
+ COPY --chown=${USER_ID}:${GROUP_ID} ${LOCAL_DATA_PATH} $HOME/data/
59
+ COPY --chown=${USER_ID}:${GROUP_ID} ../dvats ${HOME}/dvats
60
+
61
+ RUN echo "--> Prior installations" \
62
+ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC \
63
+ set -e; \
64
+ apt-get update --fix-missing \
65
+ && apt-get install -y \
66
+ python3-pip wget bzip2 curl \
67
+ #dbus python3-pip wget bzip2 curl \
68
+ git sudo libarchive-dev libtiff5-dev zsh\
69
+ #python3 -m pip install --upgrade pip \
70
+ python3-venv libxt-dev \
71
+ && apt-get clean \
72
+ && rm -rf /var/lib/apt/lists/*
Dockerfile.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ############################################
2
+ # CONDA & MINICONDA WITH PYBASE DOCKERFILE #
3
+ ############################################
4
+ ##############
5
+ # Base image #
6
+ ##############
7
+ ##--- Setup Ubuntu
8
+ ARG CUDA_VERSION
9
+ FROM nvidia/cuda:${CUDA_VERSION}
10
+
11
+ ##--- Tags
12
+ LABEL maintainer="vrodriguezf <victor.rfernandez@upm.es>"
13
+ LABEL cuda_version=${CUDA_VERSION}
14
+ LABEL cuda_version=${CUDA_VERSION}
15
+
16
+ ##--- Setup bash
17
+ SHELL [ "/bin/bash", "--login", "-c" ]
18
+
19
+ ##################
20
+ # Packages setup #
21
+ ##################
22
+ #TODO: Automatizar que lo coja de /etc/timezone
23
+ ARG TZ=Etc/UTC
24
+ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
25
+ && apt-get update --fix-missing \
26
+ && apt-get install -y wget bzip2 curl git sudo libarchive-dev libtiff5-dev zsh\
27
+ && apt-get clean \
28
+ && rm -rf /var/lib/apt/lists/*
29
+
30
+ #-- Environmental variables for wandb
31
+ ENV LC_ALL=C.UTF-8 \
32
+ LANG=C.UTF-8
33
+
34
+ #####################
35
+ # Install miniconda #
36
+ #####################
37
+
38
+ ENV MINICONDA_VERSION=4.10.3 \
39
+ #ENV MINICONDA_VERSION=23.9.0 \
40
+ CONDA_DIR=$HOME/miniconda3 \
41
+ # Make non-activate conda commands available
42
+ PATH=$CONDA_DIR/bin:$PATH \
43
+ HOME=~\
44
+ PROJECT_DIR=$HOME
45
+
46
+ RUN echo "HOME: ${HOME} | CONDA_DIR = ${CONDA_DIR}" \
47
+ #-- Install MINICONDA
48
+ && wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-py38_$MINICONDA_VERSION-Linux-x86_64.sh -O ~/miniconda.sh \
49
+ && chmod +x ~/miniconda.sh \
50
+ && ~/miniconda.sh -b -p $CONDA_DIR \
51
+ && rm ~/miniconda.sh
52
+
53
+ #-- Bring & Install deepvats
54
+ COPY ./ ${HOME}/work
55
+ RUN conda activate $ENV_PREFIX
56
+ RUN pip install -e /home/$USER/work
57
+
58
+ ###### -> Cuando se cree un usuario en el otro docker
59
+ ###### habrá que hacer chown y mover al nuevo home todo
60
+ ###### o ver cómo hacerlo
61
+
Dockerfile.rstudio ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #############################
2
+ # RSTUDIO-SERVER #
3
+ # VOLUME DOCKERFILE #
4
+ #***************************#
5
+ # Set up a jupyter-lab for #
6
+ # developing using deepvats #
7
+ #############################
8
+
9
+ ##############
10
+ # Base image #
11
+ ##############
12
+ # Adds rstudio server, tiyverse, devtools to rocker/cuda
13
+ FROM rocker-cuda-base:latest
14
+
Dockerfile_bkup ADDED
@@ -0,0 +1,211 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #R-Shiny template https://huggingface.co/spaces/posit/shiny-for-r-template/tree/main
2
+ #Py-shiny template https://huggingface.co/spaces/posit/gptneox-chat
3
+
4
+ #############################
5
+ # RSTUDIO-SERVER #
6
+ # VOLUME DOCKERFILE #
7
+ #***************************#
8
+ # Set up a jupyter-lab for #
9
+ # developing using deepvats #
10
+ #############################
11
+
12
+ ##############
13
+ # Base image #
14
+ ##############
15
+ # Adds rstudio server, tiyverse, devtools to rocker/cuda
16
+ FROM dvats-rstudio-base:latest
17
+
18
+ SHELL [ "/bin/bash", "--login", "-c" ]
19
+
20
+ ###############
21
+ # Ensure vars # (Only for local test - DON'T USE IT IN HUGGINGFACE. ENSURE .env IS NOT ACCESIBLE IN THE WEB, USE THEIR SECRET MANAGEMENT)
22
+ ###############
23
+ RUN echo "--> ARGS"
24
+ ARG USER_NAME \
25
+ USER_ID \
26
+ GROUP_ID \
27
+ WANDB_API_KEY \
28
+ WANDB_ENTITY \
29
+ WANDB_PROJECT \
30
+ GH_TOKEN
31
+
32
+ RUN echo "--> ARGS -> ENV"
33
+ ENV USER_NAME=$USER_NAME \
34
+ USER_ID=$USER_ID \
35
+ GROUP_ID=$GROUP_ID \
36
+ WANDB_ENTITY=$WANDB_ENTITY \
37
+ WANDB_API_KEY=$WANDB_API_KEY \
38
+ GH_TOKEN=$ghtoken \
39
+ WANDB_PROJECT=$WANDB_PROJECT
40
+
41
+ RUN echo "--> Setup ENV variables"
42
+ ENV RETICULATE_PYTHON_ENV=/home/${USER_NAME}/env \
43
+ ROOT=TRUE \
44
+ RETICULATE_MINICONDA_PATH=/home/${USER_NAME}/miniconda \
45
+ CUDA_VISIBLE_DEVICES=0,1,2 \
46
+ ENV_VARS=WANDB_ENTITY,WANDB_PROJECT,USER_NAME,USER_ID,GROUP_ID,PASSWORD,ROOT,CUDA_VISIBLE_DEVICES\
47
+ HOME="/home/${USER_NAME}"
48
+
49
+ ###########
50
+ # Volumes #
51
+ ###########
52
+
53
+ RUN echo "---> Setup volumes" \
54
+ echo ${HOME} \
55
+ echo ${USER_NAME}"|"${USER_ID}"|"${GROUP_ID}
56
+
57
+ COPY --chown=${USER_ID}:${GROUP_ID} ../r_shiny_app $HOME/app
58
+ COPY --chown=${USER_ID}:${GROUP_ID} ${LOCAL_DATA_PATH} $HOME/data/
59
+ COPY --chown=${USER_ID}:${GROUP_ID} ../dvats ${HOME}/dvats
60
+
61
+ RUN echo "--> Prior installations" \
62
+ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC \
63
+ set -e; \
64
+ apt-get update --fix-missing \
65
+ && apt-get install -y \
66
+ python3-pip wget bzip2 curl \
67
+ git sudo libarchive-dev libtiff5-dev zsh\
68
+ #python3 -m pip install --upgrade pip \
69
+ python3-venv libxt-dev \
70
+ && apt-get clean \
71
+ && rm -rf /var/lib/apt/lists/*
72
+
73
+ ## Install R packages
74
+
75
+ #COPY docker/DESCRIPTION /tmp/
76
+ COPY --chown=${USER_ID}:${GROUP_ID} docker/DESCRIPTION /tmp/
77
+
78
+ RUN ls -la /tmp/ && sleep 5
79
+
80
+ RUN echo "--> Install R packages"
81
+
82
+ #RUN R -e "install.packages(deps_path = '/tmp/DESCRIPTION', remotes::dev_package_deps(dependencies = TRUE), repos = NULL)"
83
+
84
+ RUN R -e "devtools::install_deps('/tmp/', dependencies = TRUE)"
85
+
86
+ #RUN R -e "install.packages(c('shiny', 'pals', 'shinyWidgets', 'dygraphs', 'shinycssloaders', 'shinyjs', 'Rcpp', 'reactlog', 'pals', 'feather', 'fasttime', 'zoo', 'shinyWidgets'))"
87
+ #RUN R -e "remotes::install_github('r-lib/later')"
88
+ #RUN R -e "remotes::install_github('apache/arrow/r')"
89
+
90
+ ## Install reticulate and create virtual environment using default Ubuntu installed Python
91
+ #RUN R -e "install.packages('reticulate')"
92
+
93
+
94
+
95
+ ENV ENV_PREFIX $HOME/env
96
+
97
+ RUN echo "---> Make sudo & setup sudoers"
98
+ RUN echo "$(id)"
99
+
100
+ ARG RETICULATE_MINICONDA_PATH=/usr/local/share/r-miniconda
101
+ ARG RETICULATE_PYTHON_ENV=/usr/virtualenvs/venv_shiny_app
102
+ ENV RETICULATE_PYTHON=${RETICULATE_PYTHON_ENV}/bin/python/
103
+
104
+ RUN echo "---> RETICULATE PYTHONS"
105
+ RUN echo "RETICULATE_PYTHON_ENV=${RETICULATE_PYTHON_ENV}" >> ${HOME}/.Renviron
106
+ RUN echo "RETICULATE_PYTHON=${RETICULATE_PYTHON}" >> ${HOME}/.Renviron
107
+
108
+ RUN echo "---> Export W&B"
109
+ ## Export W&B environment variable to Rstudio
110
+
111
+ ARG WANDB_API_KEY
112
+ RUN echo "WANDB_API_KEY=${WANDB_API_KEY}" >> ${HOME}/.Renviron
113
+
114
+
115
+ ENV MINICONDA_VERSION=4.10.3 \
116
+ #ENV MINICONDA_VERSION=23.9.0 \
117
+ CONDA_DIR=$HOME/miniconda3 \
118
+ # Make non-activate conda commands available
119
+ PATH=$CONDA_DIR/bin:$PATH \
120
+ PROJECT_DIR=$HOME
121
+
122
+ RUN echo "HOME: ${HOME} | CONDA_DIR = ${CONDA_DIR}" \
123
+ #-- Install MINICONDA
124
+ && wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-py38_$MINICONDA_VERSION-Linux-x86_64.sh -O ~/miniconda.sh \
125
+ && chmod +x ~/miniconda.sh \
126
+ && ~/miniconda.sh -b -p $CONDA_DIR \
127
+ && rm ~/miniconda.sh
128
+
129
+ # Make conda activate command available from /bin/bash --login shells
130
+ RUN echo ". $CONDA_DIR/etc/profile.d/conda.sh" >> ~/.profile
131
+ # make conda activate command available from /bin/bash --interative shells
132
+ RUN conda init bash \
133
+ # create a project directory inside user home
134
+ && mkdir -p $PROJECT_DIR
135
+
136
+ WORKDIR $PROJECT_DIR
137
+ ##########################
138
+ # Install & update MAMBA #
139
+ ##########################
140
+ ENV ENV_PREFIX $PROJECT_DIR/env
141
+ RUN conda install --name base --channel conda-forge mamba \
142
+ && mamba update --name base --channel defaults conda
143
+ #-- Build the mamba environment
144
+ RUN mamba install conda-lock -c conda-forge
145
+ COPY --chown=$UID:$GID docker/environment.yml docker/requirements.txt /tmp/
146
+ #RUN mamba lock -f /tmp/environment.yml --lockfile /tmp/environment.lock
147
+ #RUN mamba create --prefix ${ENV_PREFIX} --file /tmp/environment.lock
148
+ RUN mamba env create -vv --prefix ${ENV_PREFIX} --file /tmp/environment.yml
149
+ RUN conda clean --all --yes
150
+
151
+ # run the postBuild script to install the JupyterLab extensions
152
+ COPY --chown=$UID:$GID docker/postBuild /usr/local/bin
153
+ RUN chmod u+x /usr/local/bin/postBuild \
154
+ && conda activate $ENV_PREFIX \
155
+ && /usr/local/bin/postBuild \
156
+ && conda deactivate \
157
+ # Make bash automatically activate the conda environment
158
+ && echo "conda activate $ENV_PREFIX" >> ~/.bashrc
159
+
160
+
161
+ RUN chmod u+x /usr/local/bin/postBuild \
162
+ && conda activate $ENV_PREFIX \
163
+ && /usr/local/bin/postBuild \
164
+ && conda deactivate \
165
+ # Make bash automatically activate the conda environment
166
+ && echo "conda activate $ENV_PREFIX" >> ~/.bashrc
167
+
168
+ RUN conda list --prefix ${ENV_PREFIX}
169
+
170
+
171
+
172
+
173
+
174
+ RUN echo "--> rewrrite miniconda path"
175
+ # Rewrite the miniconda path environment in case it has been redefined in the compose file
176
+ RUN echo "RETICULATE_MINICONDA_PATH=${RETICULATE_MINICONDA_PATH}" >> ${HOME}/.Renviron
177
+
178
+ RUN echo "---> Make non-activate conda commands available"
179
+ RUN # make non-activate conda commands available
180
+ ENV PATH=${RETICULATE_MINICONDA_PATH}/bin:${PATH}
181
+ RUN echo "--> Permissions"
182
+
183
+ RUN echo "$(id )"
184
+
185
+ #RUN echo "--> Setup miniconda & Mamba"
186
+
187
+ #RUN echo ". ${HOME}miniconda3/etc/profile.d/conda.sh" >> ${HOME}/rstudio/.bashrc
188
+
189
+
190
+ #RUN echo "--> Conda activate"
191
+ # Make bash automatically activate the conda environment
192
+ #RUN echo "conda activate ${ENV_PREFIX}" >> ${HOME}/rstudio/.bashrc
193
+ #echo "export WANDB_ENTITY=${WANDB_ENTITY:-default}" >> ${HOME}/.bashrc
194
+ # echo "WANDB_ENTITY=${WANDB_ENTITY:-default}" >> ${HOME}/.Renviron
195
+
196
+ # Define an array of environment variable names from the ENV_VARS Compose variable
197
+ ARG ENV_VARS=ENV_VARS
198
+ RUN echo "---> Setup variables" && \
199
+ IFS=',' read -ra NAMES <<< "ENV_VARS" && \
200
+ for ENV_VAR_NAsME in "${NAMES[@]}"; do \
201
+ #echo "$ENV_VARS" | tr ',' '\n' | while read ENV_VAR_NAME; do \
202
+ ENV_VAR_VALUE="${!ENV_VAR_NAME:-default}"; \
203
+ echo "$ENV_VAR_NAME=$ENV_VAR_VALUE"; \
204
+ done > ${HOME}/.Renviron
205
+
206
+
207
+ RUN echo "--> Go!"
208
+
209
+ CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=${RSTUDIO_PORT:-3838}, launch.browser = FALSE, appDir = '/home/${USER_NAME}/app')"]
210
+
211
+ # CMD ["/init"]
local_build_base_image.sh ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Inicializa un array vacío
2
+ args=()
3
+
4
+ # Lee el archivo .env línea por línea
5
+ while IFS='=' read -r key value; do
6
+ if [[ $key != \#* && $key != '' ]]; then # Excluye comentarios y líneas vacías
7
+ args+=(--build-arg "$key=$value") # Agrega --build-arg y la variable como un elemento
8
+ fi
9
+ done < .env
10
+
11
+ # Ejecuta docker build con los argumentos
12
+ IMAGE_NAME='dvats-rstudio-base:latest'
13
+ docker build "${args[@]}" . -f Dockerfile.base -t ${IMAGE_NAME}
settings.ini ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [DEFAULT]
2
+ lib_name = dvats
3
+ user = vrodriguezf
4
+ description = Deep VATS
5
+ keywords = time-series machine-learning visual-analytics
6
+ author = Victor Rodriguez-Fernandez
7
+ author_email = victor.rfernandez@upm.es
8
+ copyright = Universidad Politécnica de Madrid
9
+ branch = master
10
+ version = 0.0.1
11
+ min_python = 3.6
12
+ audience = Developers
13
+ language = English
14
+ custom_sidebar = False
15
+ license = apache2
16
+ status = 2
17
+ #requirements = tsai
18
+ nbs_path = nbs
19
+ doc_path = docs
20
+ doc_host = https://vrodriguezf.github.io
21
+ doc_baseurl = /dvats/
22
+ git_url = https://github.com/vrodriguezf/deepvats
23
+ lib_path = dvats
24
+ title = deepvats
25
+ host = github
26
+
setup.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pkg_resources import parse_version
2
+ from configparser import ConfigParser
3
+ import setuptools
4
+ assert parse_version(setuptools.__version__)>=parse_version('36.2')
5
+
6
+ # note: all settings are in settings.ini; edit there, not here
7
+ config = ConfigParser(delimiters=['='])
8
+ config.read('settings.ini')
9
+ cfg = config['DEFAULT']
10
+
11
+ cfg_keys = 'version description keywords author author_email'.split()
12
+ expected = cfg_keys + "lib_name user branch license status min_python audience language".split()
13
+ for o in expected: assert o in cfg, "missing expected setting: {}".format(o)
14
+ setup_cfg = {o:cfg[o] for o in cfg_keys}
15
+
16
+ licenses = {
17
+ 'apache2': ('Apache Software License 2.0','OSI Approved :: Apache Software License'),
18
+ }
19
+ statuses = [ '1 - Planning', '2 - Pre-Alpha', '3 - Alpha',
20
+ '4 - Beta', '5 - Production/Stable', '6 - Mature', '7 - Inactive' ]
21
+ py_versions = '2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8'.split()
22
+
23
+ requirements = cfg.get('requirements','').split()
24
+ lic = licenses[cfg['license']]
25
+ min_python = cfg['min_python']
26
+
27
+ setuptools.setup(
28
+ name = cfg['lib_name'],
29
+ license = lic[0],
30
+ classifiers = [
31
+ 'Development Status :: ' + statuses[int(cfg['status'])],
32
+ 'Intended Audience :: ' + cfg['audience'].title(),
33
+ 'License :: ' + lic[1],
34
+ 'Natural Language :: ' + cfg['language'].title(),
35
+ ] + ['Programming Language :: Python :: '+o for o in py_versions[py_versions.index(min_python):]],
36
+ url = 'https://github.com/{}/{}'.format(cfg['user'],cfg['lib_name']),
37
+ packages = setuptools.find_packages(),
38
+ include_package_data = True,
39
+ install_requires = requirements,
40
+ python_requires = '>=' + cfg['min_python'],
41
+ long_description = open('README.md').read(),
42
+ long_description_content_type = 'text/markdown',
43
+ zip_safe = False,
44
+ entry_points = { 'console_scripts': cfg.get('console_scripts','').split() },
45
+ **setup_cfg)
46
+