diff --git a/Dockerfile b/Dockerfile
index d68bf0abf229f91a968da55af22208f18bf1ca9a..35be4c1773bb87e4b032c804fe90970ce0705818 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,7 +15,22 @@ RUN rm requirements.txt
 # co-development.
 ENV PYTHONPATH "${PYTHONPATH}:/workspace/finn/src"
 ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas_cnv_lfc/training_scripts"
+ENV PYTHONPATH "${PYTHONPATH}:/workspace/brevitas"
 
-WORKDIR /workspace/finn
+ARG GID
+ARG GNAME
+ARG UNAME
+ARG UID
+ARG PASSWD
 
-ENTRYPOINT pip install -e /workspace/brevitas && python setup.py test; /bin/bash
+RUN groupadd -g $GID $GNAME
+RUN useradd -M -u $UID $UNAME -g $GNAME
+RUN usermod -aG sudo $UNAME
+RUN echo "$UNAME:$PASSWD" | chpasswd
+RUN echo "root:$PASSWD" | chpasswd
+RUN ln -s /workspace /home/$UNAME
+RUN chown -R $UNAME:$GNAME /home/$UNAME
+USER $UNAME
+
+WORKDIR /home/$UNAME/finn
+ENTRYPOINT python setup.py test; /bin/bash
diff --git a/requirements.txt b/requirements.txt
index e39635062a70c7c9e6694c1b40ddef893c0bb73c..a2247fea500d67f6dfb762f0214ddbfb921d1b00 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,4 @@
+docrep
 future
 numpy
 onnx
diff --git a/run-docker.sh b/run-docker.sh
index 291f894153586ea09ed4713d0fa4ed693a9cb735..bbbbd9a468332c647d465d1c7263b41051cef773 100755
--- a/run-docker.sh
+++ b/run-docker.sh
@@ -1,5 +1,12 @@
 #!/bin/sh
 
+DOCKER_GID=$(id -g)
+DOCKER_GNAME=$(id -gn)
+DOCKER_UNAME=$(id -un)
+DOCKER_UID=$(id -u)
+DOCKER_PASSWD="finn"
+DOCKER_TAG="finn_$DOCKER_UNAME"
+
 # Absolute path to this script, e.g. /home/user/bin/foo.sh
 SCRIPT=$(readlink -f "$0")
 # Absolute path this script is in, thus /home/user/bin
@@ -15,17 +22,20 @@ EXAMPLES_LOCAL=$SCRIPTPATH/brevitas_cnv_lfc
 git clone --branch feature/finn_onnx_export $BREVITAS_REPO $BREVITAS_LOCAL ||  git -C "$BREVITAS_LOCAL" pull
 git clone $EXAMPLES_REPO $EXAMPLES_LOCAL ||  git -C "$EXAMPLES_LOCAL" pull
 
-# remove possible temp files created from previous execution
-sudo rm -rf .eggs tests/__pycache__/
-
 echo "Mounting $SCRIPTPATH into /workspace/finn"
 echo "Mounting $SCRIPTPATH/brevitas into /workspace/brevitas"
 echo "Mounting $SCRIPTPATH/brevitas_cnv_lfc into /workspace/brevitas_cnv_lfc"
 # Build the FINN Docker image
-docker build --tag=finn .
+docker build --tag=$DOCKER_TAG \
+             --build-arg GID=$DOCKER_GID \
+             --build-arg GNAME=$DOCKER_GNAME \
+             --build-arg UNAME=$DOCKER_UNAME \
+             --build-arg UID=$DOCKER_UID \
+             --build-arg PASSWD=$DOCKER_PASSWD \
+             .
 # Launch container with current directory mounted
 docker run --rm --name finn_dev -it \
 -v $SCRIPTPATH:/workspace/finn \
 -v $SCRIPTPATH/brevitas:/workspace/brevitas \
 -v $SCRIPTPATH/brevitas_cnv_lfc:/workspace/brevitas_cnv_lfc \
-finn bash
+$DOCKER_TAG bash