diff --git a/services/base-image/Dockerfile b/services/base-image/Dockerfile
--- a/services/base-image/Dockerfile
+++ b/services/base-image/Dockerfile
@@ -11,6 +11,7 @@
 	pkg-config \
 	libboost-all-dev \
 	libfmt-dev \
+	libgflags-dev \
 	libgtest-dev \
   libcurl4-openssl-dev \
   libssl-dev \
@@ -29,6 +30,9 @@
 COPY docker/install_glog.sh .
 RUN ./install_glog.sh
 
+COPY docker/install_double.sh .
+RUN ./install_double.sh
+
 COPY docker/install_folly.sh .
 RUN ./install_folly.sh
 
diff --git a/services/base-image/docker/install_double.sh b/services/base-image/docker/install_double.sh
new file mode 100755
--- /dev/null
+++ b/services/base-image/docker/install_double.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+pushd /usr/lib
+
+git clone https://github.com/google/double-conversion.git \
+  --branch v3.1.5 --single-branch
+pushd double-conversion
+cmake . -DBUILD_SHARED_LIBS=ON
+make install -j4
+
+popd # double-conversion
+rm -r double-conversion
+
+popd
diff --git a/services/base-image/docker/install_folly.sh b/services/base-image/docker/install_folly.sh
--- a/services/base-image/docker/install_folly.sh
+++ b/services/base-image/docker/install_folly.sh
@@ -5,6 +5,10 @@
 pushd /usr/lib
 
 git clone https://github.com/facebook/folly.git --branch v2020.01.13.00 --single-branch
-git clone https://github.com/google/double-conversion.git --branch  v3.1.5 --single-branch
+pushd folly
+cmake .
+make install -j4
+popd # folly
+rm -r folly
 
 popd # /usr/lib
diff --git a/services/base-image/docker/install_glog.sh b/services/base-image/docker/install_glog.sh
--- a/services/base-image/docker/install_glog.sh
+++ b/services/base-image/docker/install_glog.sh
@@ -4,4 +4,12 @@
 
 pushd /usr/lib
 git clone https://github.com/google/glog.git --branch v0.4.0 --single-branch
+
+pushd glog
+cmake . -DBUILD_TESTING=OFF
+make install -j4
+popd # glog
+
+rm -rf glog
+
 popd # /usr/lib
diff --git a/services/base-image/docker/install_grpc.sh b/services/base-image/docker/install_grpc.sh
--- a/services/base-image/docker/install_grpc.sh
+++ b/services/base-image/docker/install_grpc.sh
@@ -25,8 +25,7 @@
 	-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \
 	-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF \
 	../..
-make
-make install
+make install -j4
 popd # cmake/build
 
 # Explicitly install abseil-cpp because of https://github.com/grpc/grpc/issues/25949
@@ -37,11 +36,22 @@
 cmake \
 		-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
 		../..
-make
-make install
+make install -j4
 popd # cmake/build
 popd # third_party/abseil-cpp/
 
+# Explicity install a more up-to-date version of protobuf, which
+# installs protobuf-config.cmake unlike `libprotobuf-dev` ubuntu package
+# which only exports the protobuf.pc. This is important because grpc's cmake
+# will attempt to find protobuf as well
+pushd third_party/protobuf/
+mkdir -p _build
+pushd _build
+cmake ../cmake -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER=package
+make install -j4
+popd # _build
+popd # third_party/protobuf/
+
 popd # grpc
 
 rm -rf grpc