diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..75851afeb12a8feb0c8f27540957fd9d1449b069
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,70 @@
+# which image to test.
+ARG BASE_TAG
+
+# specify that we'll inherit from the image to test.
+FROM ${BASE_TAG}
+
+# which python binary to test
+ARG INSTALL_BIN
+
+
+
+# specify we are running as root, in case the base image doesn't default to that.
+USER root
+
+# specify that apt should be non-interactive.
+ENV DEBIAN_FRONTEND=noninteractive
+
+# install basic software
+RUN apt update && apt install -y build-essential protobuf-compiler \
+    python python3 libprotobuf-dev libcurl4-openssl-dev \
+    libncurses5-dev libjemalloc-dev wget m4 g++ libssl-dev libc6 libcurl4 \
+    git build-essential protobuf-compiler \
+    libprotobuf-dev libcurl4-openssl-dev \
+    libncurses5-dev m4 g++ libssl-dev \
+    debhelper curl rsync pip
+
+RUN apt install -y tzdata \
+    && ln -fs /usr/share/zoneinfo/UTC /etc/localtime \
+    && dpkg-reconfigure --frontend noninteractive tzdata
+
+# checkout and build the redis suite.
+# note: the sed command for memefficiency.tcl extends a timeout so that the test is deterministic
+# on our older test runners.
+RUN 	set -x ; mkdir /work  												&& \
+	cd /work  													&& \ 
+	git clone https://github.com/rethinkdb/rethinkdb.git                    					&& \
+	version=$(rethinkdb --version 2>&1 | sed -e "s/rethinkdb //"  -e "s/~.*//") 					&& \
+	cd /work/rethinkdb 												&& \
+	git checkout v${version} 											&& \
+	PYTHON=$(which python3) ./configure --fetch boost --fetch gtest --fetch re2 --fetch jemalloc --fetch quickjs 	&& \
+	make support -j $(python -c 'import multiprocessing; print(multiprocessing.cpu_count())') 			&& \
+	make DEBUG=1 -j $(python -c 'import multiprocessing; print(multiprocessing.cpu_count())') 			&& \
+	git clone https://github.com/rethinkdb/rethinkdb-python /tmp/python-driver					&& \
+	cd /tmp/python-driver												&& \
+	git checkout v${version} 											&& \
+	pip install -r requirements.txt											&& \
+	make prepare
+
+
+
+
+# run the original tests
+RUN 	cd /work/rethinkdb 										; \
+	md5sum ./build/debug/rethinkdb									; \
+	export PYTHON_DRIVER=/tmp/python-driver/rethinkdb						; \
+        export MAX_JOBS=$(python -c 'import multiprocessing; print(multiprocessing.cpu_count())')	; \
+        test/run --timeout 300 --jobs "${MAX_JOBS}" -H all '!unit' '!cpplint' '!long' '!disabled'	| \
+	tee /orig_runtest_results.txt || true
+
+# run python tests on the version to test
+RUN 	cd /work/rethinkdb 										; \
+	cp ${INSTALL_BIN} ./build/debug/rethinkdb 							; \
+	md5sum ./build/debug/rethinkdb									; \
+	export PYTHON_DRIVER=/tmp/python-driver/rethinkdb						; \
+        export MAX_JOBS=$(python -c 'import multiprocessing; print(multiprocessing.cpu_count())')	; \
+        test/run --timeout 300 --jobs "${MAX_JOBS}" -H all '!unit' '!cpplint' '!long' '!disabled'	| \
+	tee /modi_runtest_results.txt || true
+
+## finally, test the diffs
+#RUN bash -c 'diff /orig_runtest_results.txt /modi_runtest_results.txt'