diff --git a/Dockerfile b/Dockerfile
index 6cf146f4076834cb90ca2b0122fe62ce4c5a0375..8b9240eaf3d27d01bffe6aed10c09b8495aadae0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -11,5 +11,6 @@ ENV		BFANODEDIR=${BFANETWORKDIR}/node BFATOML=${BFANETWORKDIR}/config.toml
 RUN             mkdir ${BFANODEDIR} && ln -s ${BFANODEDIR} ${HOME}/.ethereum
 USER		${USERNAME}
 WORKDIR 	${BFAHOME}
-RUN		git checkout ${GITBRANCH} && git pull
-#VOLUME         [ "/home/bfa" ]
+RUN		rm -f package-lock.json ; git checkout ${GITBRANCH} && git pull
+VOLUME          $BFANETWORKDIR/cache
+VOLUME          $BFANODEDIR
diff --git a/bfatoolbase/Dockerfile b/bfatoolbase/Dockerfile
index d658a74f438cb71036be8382d30cf1e507cb4d6a..92969283bec957f0d0660629f3fed4fa7c1b517f 100644
--- a/bfatoolbase/Dockerfile
+++ b/bfatoolbase/Dockerfile
@@ -1,5 +1,5 @@
-FROM            ethereum/solc:0.5.10-alpine AS solc
-FROM		ethereum/client-go:alltools-v1.9.2
+FROM            ethereum/solc:0.6.3-alpine AS solc
+FROM		ethereum/client-go:alltools-v1.9.11
 LABEL		maintainer="Robert Martin-Legene <robert@nic.ar>"
 CMD		[ "/bin/bash" ]
 COPY		--from=solc /usr/local/bin/solc /usr/local/bin
diff --git a/build.sh b/build.sh
index 2a1aa0edceb4e6acd31a1157d89292923c420f08..49a9046445c0509ad93cd302f218054c25693256 100755
--- a/build.sh
+++ b/build.sh
@@ -31,7 +31,7 @@ do
             ;;
     esac
 done
-docker build --no-cache -f ${DOCKERFILENAME} -t bfaar/nodo:${TAG} .
+docker build -f ${DOCKERFILENAME} -t bfaar/nodo:${TAG} .
 rm Dockerfile-${TAG}
 if [ "$USER" = "robert" ]
 then
diff --git a/start.sh b/start.sh
index 0c8f3f0e97e876024cccf575409bb2721aaa8e29..f3e98022b3b8432c25e643f94d50ee8a68327330 100755
--- a/start.sh
+++ b/start.sh
@@ -25,28 +25,10 @@ else
     exit 1
 fi
 
-mounts=
-for guestdir in /home/bfa/bfa/${netdir}/node /home/bfa/bfa/${netdir}/cache
-do
-    # docker dirs
-    d_dirs="${d_dirs} ${guestdir}"
-    # guestdirs
-    g_dir=${guestdir//\//,}
-    g_dirs="${g_dirs} ${g_dir}"
-    # hostdirs
-    h_dir=/home/dockers/volumes/${name}${guestdir//\//,}
-    h_dirs="${h_dirs} ${h_dir}"
-    mkdir -p ${h_dir}
-    mounts="${mounts} -v ${h_dir}:${guestdir}"
-done
+mounts="${name}_node:/home/bfa/bfa/${netdir}/node ${name}_cache:/home/bfa/bfa/${netdir}/cache"
+ports="-p 8545:8545 -p 8546:8546 -p 30303:30303"
 
-if [ "$UID" = "0" ]
-then
-    chown -R 30303:30303 ${h_dirs}
-else
-    # This is a bit slower, but works
-    docker run --rm $mounts -u root alpine chown -R 30303:30303 ${d_dirs}
-fi
+docker run --rm $mounts -u root bfaar/nodo:${tag} chown -R 30303:30303 /home/bfa
 
 # Run this just a single time.
 # Docker itself makes sure it autostarts if it crashes or the server reboots.
@@ -55,8 +37,6 @@ docker run                      \
     --restart=unless-stopped    \
     --memory 4g                 \
     $mounts                     \
-    -p 8545:8545                \
-    -p 8546:8546                \
-    -p 30303:30303              \
+    $ports                      \
     --name ${name}              \
     bfaar/nodo:${tag}