summaryrefslogtreecommitdiffhomepage
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile59
1 files changed, 33 insertions, 26 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index df1345ca..a4eff99c 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,15 +1,7 @@
FROM ubuntu
-ARG NB_USER
-ARG NB_UID
-ENV USER ${NB_USER}
-ENV HOME /home/${NB_USER}
-
-RUN adduser --disabled-password \
- --gecos "Default user" \
- --uid ${NB_UID} \
- ${NB_USER}
-WORKDIR ${HOME}
+ENV USER="user"
+ENV HOME /home/${USER}
#installing dependencies
RUN apt-get update
@@ -17,31 +9,46 @@ RUN apt-get install python3 -y
RUN apt-get install python3-pip -y
RUN apt-get install python3-venv -y
RUN apt-get install git -y
-#------installing the needed thing for PyPDF2 and pdftotext-------------------------------------
+RUN apt-get install curl -y
+RUN apt-get install python3.8-venv -y
+
+# Install dependencies fo PyPDF2 and pdftotext
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata
RUN apt-get install build-essential libpoppler-cpp-dev pkg-config python3-dev poppler-utils -y
RUN apt-get install libqpdf-dev -y
RUN apt-get install pkg-config -y
RUN apt-get install default-jdk -y
RUN apt-get install graphviz -y
-#-----------------------------------------------------------------------------------------------
+RUN adduser --disabled-password \
+ --gecos "Default user" \
+ ${USER}
+USER ${USER}
+WORKDIR ${HOME}
-RUN git clone https://github.com/crocs-muni/sec-certs.git /opt/sec-certs
+# TODO: Change dev to master
+# Download only snapshot of repository
+RUN \
+ curl -L https://api.github.com/repos/crocs-muni/sec-certs/tarball/master > sec-certs.tar.gz && \
+ mkdir sec-certs && \
+ tar zxf sec-certs.tar.gz --strip-components=1 --directory sec-certs && \
+ rm sec-certs.tar.gz
-#creating the venv in a way that works, the activation script doesn't work in Docker, we do manualy what it does
-ENV VIRTUAL_ENV=/opt/venv
-RUN python3 -m venv $VIRTUAL_ENV
-ENV PATH="$VIRTUAL_ENV/bin:$PATH"
+WORKDIR ${HOME}/sec-certs
-# Install dependencies:
-RUN cp /opt/sec-certs/requirements.txt .
-RUN pip install wheel
-RUN pip install -r requirements.txt
-RUN pip install --no-cache notebook
-#just to be sure that pdftotext is in $PATH
-ENV PATH /usr/bin/pdftotext:${PATH}
+# Create virtual environment
+ENV VENV_PATH=${HOME}/venv
+RUN python3 -m venv ${VENV_PATH}
+ENV PATH="${VENV_PATH}/bin:$PATH"
+# Install dependencies, notebook is because of mybinder.org
+RUN \
+ pip3 install wheel && \
+ pip3 install -r requirements.txt && \
+ pip3 install --no-cache notebook
+
+# #just to be sure that pdftotext is in $PATH
+ENV PATH /usr/bin/pdftotext:${PATH}
-# Run the application:
-CMD ["python3", "/opt/sec-certs/cc_cli.py"]
+# # Run the application:
+# CMD ["python3", "./cc_cli.py"]