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_aws_sdk.sh b/services/base-image/docker/install_aws_sdk.sh
--- a/services/base-image/docker/install_aws_sdk.sh
+++ b/services/base-image/docker/install_aws_sdk.sh
@@ -4,12 +4,18 @@
 
 cd /tmp
 
-git clone --recurse-submodules -b 1.9.176 --single-branch https://github.com/aws/aws-sdk-cpp
+git clone https://github.com/aws/aws-sdk-cpp \
+  --recurse-submodules \
+  -b 1.9.176 \
+  --single-branch
+
 mkdir aws-sdk-cpp/build
 pushd aws-sdk-cpp/build
-cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/local/aws_sdk -DBUILD_ONLY="core;s3;dynamodb"
-make
-make install
+cmake .. \
+  -DCMAKE_BUILD_TYPE=Release \
+  -DCMAKE_PREFIX_PATH=/usr/local/aws_sdk \
+  -DBUILD_ONLY="core;s3;dynamodb"
+make install -l "$(nproc)" -j "$(nproc)"
 
 popd # aws-sdk-cpp/build
 rm -rf aws-sdk-cpp
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 -l "$(nproc)" -j "$(nproc)"
+
+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
@@ -4,7 +4,14 @@
 
 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
+git clone https://github.com/facebook/folly.git \
+  --branch v2020.01.13.00 \
+  --single-branch
+
+pushd folly
+cmake .
+make install -l "$(nproc)" -j "$(nproc)"
+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 -j "$(nproc)" -l "$(nproc)"
+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
@@ -29,8 +29,7 @@
 	-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \
 	-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF \
 	../..
-make
-make install
+make install -j "$(nproc)" -l "$(nproc)"
 popd # cmake/build
 
 # Explicitly install abseil-cpp because of https://github.com/grpc/grpc/issues/25949
@@ -41,11 +40,23 @@
 cmake \
 		-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
 		../..
-make
-make install
+make install -j "$(nproc)" -l "$(nproc)"
 popd # cmake/build
 popd # third_party/abseil-cpp/
 
+# Explicitly install a more up-to-date version of `protobuf`, which
+# installs `protobuf-config.cmake`. The `libprotobuf-dev` Ubuntu package
+# only exports the `pkg-config` `protobuf.pc`. This is important because
+# the gRPC CMake configuration will attempt to find the `protobuf` CMake
+# configuration.
+pushd third_party/protobuf/
+mkdir -p _build
+pushd _build
+cmake ../cmake -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER=package
+make install -j "$(nproc)" -l "$(nproc)"
+popd # _build
+popd # third_party/protobuf/
+
 popd # grpc
 
 rm -rf grpc