@ -22,9 +22,7 @@ ENV DJANGO_CONFIGURATION=${DJANGO_CONFIGURATION}
# Install necessary apt packages
# Install necessary apt packages
RUN apt-get update && \
RUN apt-get update && \
apt-get install -yq \
apt-get install -yq \
python-software-properties \
software-properties-common && \
software-properties-common \
wget && \
add-apt-repository ppa:mc3man/xerus-media -y && \
add-apt-repository ppa:mc3man/xerus-media -y && \
add-apt-repository ppa:mc3man/gstffmpeg-keep -y && \
add-apt-repository ppa:mc3man/gstffmpeg-keep -y && \
apt-get update && \
apt-get update && \
@ -40,14 +38,19 @@ RUN apt-get update && \
python3-dev \
python3-dev \
python3-pip \
python3-pip \
tzdata \
tzdata \
unzip \
unrar \
p7zip-full \
p7zip-full \
git-core \
git \
libsm6 \
ssh \
libxext6 && \
poppler-utils \
python3 -m pip install -U pip && \
curl && \
python3 -m pip install -U setuptools && \
curl https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \
apt-get install -y git-lfs && git lfs install && \
if [ -z ${ socks_proxy } ] ; then \
echo export "GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o ConnectTimeout=30\"" >> ${ HOME } /.bashrc; \
else \
echo export " GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o ConnectTimeout=30 -o ProxyCommand='nc -X 5 -x ${ socks_proxy } %h %p'\" " >> ${ HOME } /.bashrc; \
fi && \
python3 -m pip install --no-cache-dir -U pip setuptools && \
ln -fs /usr/share/zoneinfo/${ TZ } /etc/localtime && \
ln -fs /usr/share/zoneinfo/${ TZ } /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata && \
dpkg-reconfigure -f noninteractive tzdata && \
add-apt-repository --remove ppa:mc3man/gstffmpeg-keep -y && \
add-apt-repository --remove ppa:mc3man/gstffmpeg-keep -y && \
@ -69,8 +72,8 @@ ENV REID_MODEL_DIR=${HOME}/reid
RUN if [ " $OPENVINO_TOOLKIT " = "yes" ] ; then \
RUN if [ " $OPENVINO_TOOLKIT " = "yes" ] ; then \
/tmp/components/openvino/install.sh && \
/tmp/components/openvino/install.sh && \
mkdir ${ REID_MODEL_DIR } && \
mkdir ${ REID_MODEL_DIR } && \
wget https://download.01.org/openvinotoolkit/2018_R5/open_model_zoo/person-reidentification-retail-0079/FP32/person-reidentification-retail-0079.xml -O reid/reid.xml && \
curl https://download.01.org/openvinotoolkit/2018_R5/open_model_zoo/person-reidentification-retail-0079/FP32/person-reidentification-retail-0079.xml -o reid/reid.xml && \
wget https://download.01.org/openvinotoolkit/2018_R5/open_model_zoo/person-reidentification-retail-0079/FP32/person-reidentification-retail-0079.bin -O reid/reid.bin; \
curl https://download.01.org/openvinotoolkit/2018_R5/open_model_zoo/person-reidentification-retail-0079/FP32/person-reidentification-retail-0079.bin -o reid/reid.bin; \
fi
fi
# Tensorflow annotation support
# Tensorflow annotation support
@ -89,29 +92,6 @@ RUN if [ "$AUTO_SEGMENTATION" = "yes" ]; then \
bash -i /tmp/components/auto_segmentation/install.sh; \
bash -i /tmp/components/auto_segmentation/install.sh; \
fi
fi
ARG WITH_TESTS
RUN if [ " $WITH_TESTS " = "yes" ] ; then \
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | tee /etc/apt/sources.list.d/google-chrome.list && \
wget -qO- https://deb.nodesource.com/setup_9.x | bash - && \
apt-get update && \
DEBIAN_FRONTEND = noninteractive apt-get install -yq \
google-chrome-stable \
nodejs && \
rm -rf /var/lib/apt/lists/*; \
mkdir tests && cd tests && npm install \
eslint \
eslint-detailed-reporter \
karma \
karma-chrome-launcher \
karma-coveralls \
karma-coverage \
karma-junit-reporter \
karma-qunit \
qunit; \
echo " export PATH=~/tests/node_modules/.bin: ${ PATH } " >> ~/.bashrc; \
fi
# Install and initialize CVAT, copy all necessary files
# Install and initialize CVAT, copy all necessary files
COPY cvat/requirements/ /tmp/requirements/
COPY cvat/requirements/ /tmp/requirements/
COPY supervisord.conf mod_wsgi.conf wait-for-it.sh manage.py ${ HOME } /
COPY supervisord.conf mod_wsgi.conf wait-for-it.sh manage.py ${ HOME } /
@ -119,23 +99,6 @@ RUN python3 -m pip install --no-cache-dir -r /tmp/requirements/${DJANGO_CONFIGUR
# pycocotools package is impossible to install with its dependencies by one pip install command
# pycocotools package is impossible to install with its dependencies by one pip install command
RUN python3 -m pip install --no-cache-dir pycocotools = = 2.0.0
RUN python3 -m pip install --no-cache-dir pycocotools = = 2.0.0
# Install git application dependencies
RUN apt-get update && \
apt-get install -y ssh netcat-openbsd git curl zip && \
wget -qO /dev/stdout https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \
apt-get install -y git-lfs && \
git lfs install && \
rm -rf /var/lib/apt/lists/* && \
if [ -z ${ socks_proxy } ] ; then \
echo export "GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o ConnectTimeout=30\"" >> ${ HOME } /.bashrc; \
else \
echo export " GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no -o ConnectTimeout=30 -o ProxyCommand='nc -X 5 -x ${ socks_proxy } %h %p'\" " >> ${ HOME } /.bashrc; \
fi
# Install poppler for working with pdfs
RUN apt-get update && \
apt install -y poppler-utils && \
rm -rf /var/lib/apt/lists/*
# CUDA support
# CUDA support
ARG CUDA_SUPPORT
ARG CUDA_SUPPORT
@ -150,8 +113,8 @@ ENV WITH_DEXTR=${WITH_DEXTR}
ENV DEXTR_MODEL_DIR = ${ HOME } /dextr
ENV DEXTR_MODEL_DIR = ${ HOME } /dextr
RUN if [ " $WITH_DEXTR " = "yes" ] ; then \
RUN if [ " $WITH_DEXTR " = "yes" ] ; then \
mkdir ${ DEXTR_MODEL_DIR } -p && \
mkdir ${ DEXTR_MODEL_DIR } -p && \
wget https://download.01.org/openvinotoolkit/models_contrib/cvat/dextr_model_v1.zip -O ${ DEXTR_MODEL_DIR } /dextr.zip && \
curl https://download.01.org/openvinotoolkit/models_contrib/cvat/dextr_model_v1.zip -o ${ DEXTR_MODEL_DIR } /dextr.zip && \
unzip ${ DEXTR_MODEL_DIR } /dextr.zip -d ${ DEXTR_MODEL_DIR } && rm ${ DEXTR_MODEL_DIR } /dextr.zip; \
7z e ${ DEXTR_MODEL_DIR } /dextr.zip -o ${ DEXTR_MODEL_DIR } && rm ${ DEXTR_MODEL_DIR } /dextr.zip; \
fi
fi
COPY ssh ${ HOME } /.ssh
COPY ssh ${ HOME } /.ssh