Spaces:
Sleeping
Sleeping
misantamaria
commited on
Commit
•
4970d5c
1
Parent(s):
8d233da
docker simplified
Browse files- Dockerfile +6 -90
Dockerfile
CHANGED
@@ -43,101 +43,17 @@ ENV RETICULATE_PYTHON_ENV=/home/env \
|
|
43 |
ENV_VARS=WANDB_ENTITY,WANDB_PROJECT,USER_NAME,USER_ID,GROUP_ID,PASSWORD,ROOT,CUDA_VISIBLE_DEVICES\
|
44 |
HOME="/home/"
|
45 |
|
46 |
-
RUN echo "---> RETICULATE PYTHONS"
|
47 |
-
RUN echo "RETICULATE_PYTHON_ENV=${RETICULATE_PYTHON_ENV}" >> ${HOME}/.Renviron
|
48 |
-
RUN echo "RETICULATE_PYTHON=${RETICULATE_PYTHON}" >> ${HOME}/.Renviron
|
49 |
-
|
50 |
-
|
51 |
-
ENV MINICONDA_VERSION=4.10.3 \
|
52 |
-
#ENV MINICONDA_VERSION=23.9.0 \
|
53 |
-
CONDA_DIR=$HOME/miniconda3 \
|
54 |
-
# Make non-activate conda commands available
|
55 |
-
PATH=$CONDA_DIR/bin:$PATH \
|
56 |
-
PROJECT_DIR=$HOME
|
57 |
-
|
58 |
-
RUN echo "HOME: ${HOME} | CONDA_DIR = ${CONDA_DIR}" \
|
59 |
-
#-- Install MINICONDA
|
60 |
-
&& wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-py38_$MINICONDA_VERSION-Linux-x86_64.sh -O ~/miniconda.sh \
|
61 |
-
&& chmod +x ~/miniconda.sh \
|
62 |
-
&& ~/miniconda.sh -b -p $CONDA_DIR \
|
63 |
-
&& rm ~/miniconda.sh
|
64 |
-
|
65 |
-
# Make conda activate command available from /bin/bash --login shells
|
66 |
-
RUN echo ". $CONDA_DIR/etc/profile.d/conda.sh" >> $HOME/.profile
|
67 |
-
# make conda activate command available from /bin/bash --interative shells
|
68 |
-
RUN conda init bash \
|
69 |
-
# create a project directory inside user home
|
70 |
-
&& mkdir -p $PROJECT_DIR
|
71 |
-
|
72 |
-
|
73 |
-
WORKDIR $PROJECT_DIR
|
74 |
-
##########################
|
75 |
-
# Install & update MAMBA #
|
76 |
-
##########################
|
77 |
-
ENV ENV_PREFIX $PROJECT_DIR/env
|
78 |
-
RUN conda install --name base --channel conda-forge mamba \
|
79 |
-
&& mamba update --name base --channel defaults conda
|
80 |
-
#-- Build the mamba environment
|
81 |
-
RUN mamba install conda-lock -c conda-forge
|
82 |
-
COPY --chown=$UID:$GID docker/environment.yml docker/requirements.txt /tmp/
|
83 |
-
#RUN mamba lock -f /tmp/environment.yml --lockfile /tmp/environment.lock
|
84 |
-
#RUN mamba create --prefix ${ENV_PREFIX} --file /tmp/environment.lock
|
85 |
-
RUN mamba env create -vv --prefix ${ENV_PREFIX} --file /tmp/environment.yml
|
86 |
-
RUN conda clean --all --yes
|
87 |
-
|
88 |
-
# run the postBuild script to install the JupyterLab extensions
|
89 |
-
COPY --chown=$UID:$GID docker/postBuild /usr/local/bin
|
90 |
-
RUN chmod u+x /usr/local/bin/postBuild \
|
91 |
-
&& conda activate $ENV_PREFIX \
|
92 |
-
&& /usr/local/bin/postBuild \
|
93 |
-
&& conda deactivate \
|
94 |
-
# Make bash automatically activate the conda environment
|
95 |
-
&& echo "conda activate $ENV_PREFIX" >> ~/.bashrc
|
96 |
-
|
97 |
-
|
98 |
-
RUN chmod u+x /usr/local/bin/postBuild \
|
99 |
-
&& conda activate $ENV_PREFIX \
|
100 |
-
&& /usr/local/bin/postBuild \
|
101 |
-
&& conda deactivate \
|
102 |
-
# Make bash automatically activate the conda environment
|
103 |
-
&& echo "conda activate $ENV_PREFIX" >> ~/.bashrc
|
104 |
-
|
105 |
-
RUN conda list --prefix ${ENV_PREFIX}
|
106 |
-
|
107 |
-
RUN echo "--> rewrrite miniconda path"
|
108 |
-
# Rewrite the miniconda path environment in case it has been redefined in the compose file
|
109 |
-
RUN echo "RETICULATE_MINICONDA_PATH=${RETICULATE_MINICONDA_PATH}" >> ${HOME}/.Renviron
|
110 |
-
|
111 |
-
RUN echo "---> Make non-activate conda commands available"
|
112 |
-
RUN # make non-activate conda commands available
|
113 |
-
ENV PATH=${RETICULATE_MINICONDA_PATH}/bin:${PATH}
|
114 |
-
RUN echo "--> Permissions"
|
115 |
-
|
116 |
-
RUN echo "$(id )"
|
117 |
|
118 |
### Copy deepvats
|
119 |
-
RUN echo "---> Setup volumes"
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
COPY --chown=${USER_ID}:${GROUP_ID} ../
|
124 |
-
COPY --chown=${USER_ID}:${GROUP_ID} ${LOCAL_DATA_PATH} $HOME/data/
|
125 |
-
COPY --chown=${USER_ID}:${GROUP_ID} ../dvats ${HOME}/dvats
|
126 |
-
|
127 |
-
|
128 |
-
# Define an array of environment variable names from the ENV_VARS Compose variable
|
129 |
-
#ARG ENV_VARS=ENV_VARS
|
130 |
-
#RUN echo "---> Setup variables" && \
|
131 |
-
# IFS=',' read -ra NAMES <<< "ENV_VARS" && \
|
132 |
-
# for ENV_VAR_NAsME in "${NAMES[@]}"; do \
|
133 |
-
#echo "$ENV_VARS" | tr ',' '\n' | while read ENV_VAR_NAME; do \
|
134 |
-
# ENV_VAR_VALUE="${!ENV_VAR_NAME:-default}"; \
|
135 |
-
# echo "$ENV_VAR_NAME=$ENV_VAR_VALUE"; \
|
136 |
-
# done > ${HOME}/.Renviron
|
137 |
|
138 |
# Install deepvats
|
139 |
|
140 |
-
RUN pip install -e /home
|
141 |
RUN echo "--> Go!"
|
142 |
|
143 |
CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=${RSTUDIO_PORT:-3838}, launch.browser = FALSE, appDir = '/home/${USER_NAME}/app')"]
|
|
|
43 |
ENV_VARS=WANDB_ENTITY,WANDB_PROJECT,USER_NAME,USER_ID,GROUP_ID,PASSWORD,ROOT,CUDA_VISIBLE_DEVICES\
|
44 |
HOME="/home/"
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
### Copy deepvats
|
48 |
+
RUN echo "---> Setup volumes"
|
49 |
+
#--- Volumes
|
50 |
+
COPY --chown=${USER_ID}:${GROUP_ID} ../r_shiny_app $HOME/${USER_NAME}app
|
51 |
+
COPY --chown=${USER_ID}:${GROUP_ID} ${LOCAL_DATA_PATH} $HOME/${USER_NAME}data/
|
52 |
+
COPY --chown=${USER_ID}:${GROUP_ID} ../dvats ${HOME}/${USER_NAME}/dvats
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
# Install deepvats
|
55 |
|
56 |
+
RUN pip install -e /home/work
|
57 |
RUN echo "--> Go!"
|
58 |
|
59 |
CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=${RSTUDIO_PORT:-3838}, launch.browser = FALSE, appDir = '/home/${USER_NAME}/app')"]
|