diff --git a/docker/DockerfileDeps b/docker/DockerfileDeps
index b7146c4538ba614983769021c361d75bafa0b896..f2cec402ce3fc78b73ebc72b04a43a0719791522 100644
--- a/docker/DockerfileDeps
+++ b/docker/DockerfileDeps
@@ -1,32 +1,19 @@
-FROM ubuntu:16.04
+FROM ubuntu:20.04
 MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com>
-RUN apt-get update && apt-get install -y \
-        build-essential cmake git wget libncurses5-dev libreadline-dev nettle-dev \
-        libgnutls28-dev libuv1-dev cython3 python3-dev python3-setuptools libcppunit-dev libjsoncpp-dev \
-        autotools-dev autoconf libssl-dev \
-    && apt-get clean
-
-RUN echo "*** Installing libfmt ***" \
-    && wget https://github.com/fmtlib/fmt/archive/5.3.0.tar.gz \
-    && tar -xzf 5.3.0.tar.gz && cd fmt-5.3.0/ \
-    && cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=On -DFMT_TEST=Off -DFMT_DOC=Off . \
-    && make -j8 && make install \
-    && cd ../ && rm -rf fmt*
 
-# libhttp-parser-dev is 2.1-2 which is too old
-RUN echo "*** Building nodejs/http_parser dependency ***" \
-    && wget https://github.com/nodejs/http-parser/archive/v2.9.2.tar.gz \
-    && tar xvf v2.9.2.tar.gz && cd http-parser-2.9.2/ \
-    && PREFIX=/usr make -j8 install \
-    && cd ../ && rm -rf http-parser*
+RUN apt-get update && apt-get install -y \
+        dialog apt-utils \
+    && apt-get clean \
+    && echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
 
-# libasio-dev (1.10.6-3) is too old
-RUN echo "** Building a recent version of asio ***" \
-    && wget https://github.com/aberaud/asio/archive/a7d66ef4017d8f1b7f2cef1bb4ba8e23b0961571.tar.gz \
-    && tar -xvf a7d66ef4017d8f1b7f2cef1bb4ba8e23b0961571.tar.gz && cd asio-a7d66ef4017d8f1b7f2cef1bb4ba8e23b0961571/asio \
-    && ./autogen.sh && ./configure --prefix=/usr --without-boost --disable-examples --disable-tests  \
-    && make install \
-    && cd ../../ && rm -rf asio*
+RUN apt-get update && apt-get install -y \
+        build-essential pkg-config cmake git wget \
+        autotools-dev autoconf \
+        cython3 python3-dev python3-setuptools \
+        libncurses5-dev libreadline-dev nettle-dev libcppunit-dev \
+        libgnutls28-dev libuv1-dev libjsoncpp-dev libargon2-dev \
+        libssl-dev libfmt-dev libhttp-parser-dev libasio-dev libmsgpack-dev \
+    && apt-get clean
 
 RUN echo "*** Downloading RESTinio ***" \
     && mkdir restinio && cd restinio \
@@ -38,19 +25,3 @@ RUN echo "*** Downloading RESTinio ***" \
              -DRESTINIO_FIND_DEPS=ON -DRESTINIO_ALLOW_SOBJECTIZER=Off -DRESTINIO_USE_BOOST_ASIO=none . \
     && make -j8 && make install \
     && cd ../../ && rm -rf restinio*
-
-
-# build restbed from sources
-RUN git clone --recursive https://github.com/corvusoft/restbed.git \
-	&& cd restbed && mkdir build && cd build \
-	&& cmake -DBUILD_TESTS=NO -DBUILD_EXAMPLES=NO -DBUILD_SSL=NO -DBUILD_SHARED=YES -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib .. \
-	&& make -j8 install \
-	&& cd .. && rm -rf restbed
-
-#build msgpack from source
-RUN wget https://github.com/msgpack/msgpack-c/releases/download/cpp-2.1.5/msgpack-2.1.5.tar.gz \
-    && tar -xzf msgpack-2.1.5.tar.gz \
-    && cd msgpack-2.1.5 && mkdir build && cd build \
-    && cmake -DMSGPACK_CXX11=ON -DMSGPACK_BUILD_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr .. \
-    && make -j8 && make install \
-    && cd ../.. && rm -rf msgpack-2.1.5 msgpack-2.1.5.tar.gz
diff --git a/docker/DockerfileDepsBionic b/docker/DockerfileDepsBionic
index 37c8b91a69592f45a73dcbf37fc309c04e970994..227d2d80910d7db61b352b808cf1a4c07fc6658f 100644
--- a/docker/DockerfileDepsBionic
+++ b/docker/DockerfileDepsBionic
@@ -3,11 +3,13 @@ MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com>
 
 RUN echo "APT::Acquire::Retries \"3\";" > /etc/apt/apt.conf.d/80-retries
 RUN apt-get update && apt-get install -y \
-        apt-transport-https build-essential cmake git wget libncurses5-dev libreadline-dev nettle-dev \
+        apt-transport-https build-essential git wget libncurses5-dev libreadline-dev nettle-dev \
         libgnutls28-dev libuv1-dev cython3 python3-dev python3-setuptools libcppunit-dev libjsoncpp-dev \
         autotools-dev autoconf libfmt-dev libhttp-parser-dev libmsgpack-dev libssl-dev \
     && apt-get clean
 
+RUN apt-get update && apt-get install -y python3-pip && pip3 install --upgrade cmake
+
 # libasio-dev (1.10) is too old
 RUN echo "** Building a recent version of asio ***" \
     && wget https://github.com/aberaud/asio/archive/a7d66ef4017d8f1b7f2cef1bb4ba8e23b0961571.tar.gz \
diff --git a/docker/DockerfileDepsLlvm b/docker/DockerfileDepsLlvm
index f909e07a52b4ad95ed4b0e10466f7c28b73523f2..d54ea85c56bfc03e8eab84955dfa44abb403a3a5 100644
--- a/docker/DockerfileDepsLlvm
+++ b/docker/DockerfileDepsLlvm
@@ -1,40 +1,21 @@
-FROM ubuntu:16.04
+FROM ubuntu:20.04
 MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com>
+RUN apt-get update && apt-get install -y \
+        dialog apt-utils \
+    && apt-get clean \
+    && echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
+
 RUN apt-get update \
-    && apt-get install -y llvm llvm-dev clang make cmake git wget libncurses5-dev libreadline-dev \
+    && apt-get install -y llvm llvm-dev clang make cmake pkg-config git wget libncurses5-dev libreadline-dev \
        nettle-dev libgnutls28-dev libuv1-dev libmsgpack-dev libjsoncpp-dev cython3 python3-dev \
        python3-setuptools libcppunit-dev python3-pip \
-       autotools-dev autoconf libssl-dev \
+       autotools-dev autoconf libssl-dev libargon2-dev \
+       libfmt-dev libhttp-parser-dev libasio-dev \
     && apt-get remove -y gcc g++ && apt-get autoremove -y && apt-get clean
 
 ENV CC cc
 ENV CXX c++
 
-RUN echo "*** Installing libfmt ***" \
-    && wget https://github.com/fmtlib/fmt/archive/5.3.0.tar.gz \
-    && tar -xzf 5.3.0.tar.gz && cd fmt-5.3.0/ \
-    && cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=On -DFMT_TEST=Off -DFMT_DOC=Off . \
-    && make -j8 && make install \
-    && cd ../ && rm -rf fmt*
-
-# libhttp-parser-dev is 2.1-2 which is too old
-RUN echo "*** Building nodejs/http_parser dependency ***" \
-    && wget https://github.com/nodejs/http-parser/archive/v2.9.2.tar.gz \
-    && tar xvf v2.9.2.tar.gz && cd http-parser-2.9.2/ \
-    && PREFIX=/usr make -j8 install \
-    && cd ../ && rm -rf http-parser*
-
-# libasio-dev (1.10.6-3) is too old
-RUN echo "** Building a recent version of asio ***" \
-    && wget https://github.com/aberaud/asio/archive/a7d66ef4017d8f1b7f2cef1bb4ba8e23b0961571.tar.gz \
-    && tar -xvf a7d66ef4017d8f1b7f2cef1bb4ba8e23b0961571.tar.gz && cd asio-a7d66ef4017d8f1b7f2cef1bb4ba8e23b0961571/asio \
-    && ./autogen.sh && ./configure --prefix=/usr --without-boost --disable-examples --disable-tests  \
-    && make install \
-    && cd ../../ && rm -rf asio*
-
-#patch for https://github.com/Stiffstream/restinio-conan-example/issues/2
-RUN apt-get update && apt-get install -y python3-pip && pip3 install --upgrade cmake
-
 RUN echo "*** Downloading RESTinio ***" \
     && mkdir restinio && cd restinio \
     && wget https://github.com/aberaud/restinio/archive/a7a10e419d9089c5b8ee63f5e3098c892f22fae4.tar.gz \
@@ -45,18 +26,3 @@ RUN echo "*** Downloading RESTinio ***" \
              -DRESTINIO_FIND_DEPS=ON -DRESTINIO_ALLOW_SOBJECTIZER=Off -DRESTINIO_USE_BOOST_ASIO=none . \
     && make -j8 && make install \
     && cd ../../ && rm -rf restinio*
-
-# build restbed from sources
-RUN git clone --recursive https://github.com/corvusoft/restbed.git \
-	&& cd restbed && mkdir build && cd build \
-	&& cmake -DBUILD_TESTS=NO -DBUILD_EXAMPLES=NO -DBUILD_SSL=NO -DBUILD_SHARED=YES -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib .. \
-	&& make -j8 install \
-	&& cd .. && rm -rf restbed
-
-#build msgpack from source
-RUN wget https://github.com/msgpack/msgpack-c/releases/download/cpp-2.1.5/msgpack-2.1.5.tar.gz \
-    && tar -xzf msgpack-2.1.5.tar.gz \
-    && cd msgpack-2.1.5 && mkdir build && cd build \
-    && cmake -DMSGPACK_CXX11=ON -DMSGPACK_BUILD_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr .. \
-    && make -j8 && make install \
-    && cd ../.. && rm -rf msgpack-2.1.5 msgpack-2.1.5.tar.gz
diff --git a/docker/DockerfileLlvm b/docker/DockerfileLlvm
new file mode 100644
index 0000000000000000000000000000000000000000..b0432975d12ac5f734f1ed4d7738c61d02eef491
--- /dev/null
+++ b/docker/DockerfileLlvm
@@ -0,0 +1,6 @@
+FROM aberaud/opendht-deps-llvm
+MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com>
+RUN git clone https://github.com/savoirfairelinux/opendht.git \
+	&& cd opendht && mkdir build && cd build \
+	&& cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DOPENDHT_PYTHON=On -DOPENDHT_LTO=On && make -j8 && make install \
+	&& cd ../.. && rm -rf opendht
diff --git a/docker/DockerfileTravis b/docker/DockerfileTravis
index f914f4211c0b591fc3c151be0ddcb43679f36927..625efb7ea2bcb17e857da65a935a805a84d7646d 100644
--- a/docker/DockerfileTravis
+++ b/docker/DockerfileTravis
@@ -1,6 +1,8 @@
-FROM aberaud/opendht-deps
+FROM aberaud/opendht-deps-bionic
 MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com>
 
+RUN apt-get update && apt-get install -y python3-pip && pip3 install --upgrade cmake
+
 COPY . /root/opendht
 RUN cd /root/opendht && mkdir build && cd build \
 	&& cmake -DCMAKE_INSTALL_PREFIX=/usr -DOPENDHT_PYTHON=On -DOPENDHT_C=On -DOPENDHT_LTO=On -DOPENDHT_TESTS=ON ..  \
diff --git a/docker/DockerfileTravisProxy b/docker/DockerfileTravisProxy
index a4a88358964610ec8ff4925755cbaef45da1d98e..2f1238f537afa79b13f53999546d855d59f04cac 100644
--- a/docker/DockerfileTravisProxy
+++ b/docker/DockerfileTravisProxy
@@ -1,4 +1,5 @@
-FROM aberaud/opendht-deps
+FROM aberaud/opendht-deps-bionic
 MAINTAINER Adrien Béraud <adrien.beraud@savoirfairelinux.com>
 
+RUN apt-get update && apt-get install -y python3-pip && pip3 install --upgrade cmake
 COPY . /root/opendht