app/factorio: build docker image
diff --git a/WORKSPACE b/WORKSPACE
index 16110c7..810ddad 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -44,11 +44,37 @@
 
 # Docker rules
 
-http_archive(
+git_repository(
     name = "io_bazel_rules_docker",
-    sha256 = "aed1c249d4ec8f703edddf35cbe9dfaca0b5f5ea6e4cd9e83e99f3b0d1136c3d",
-    strip_prefix = "rules_docker-0.7.0",
-    urls = ["https://github.com/bazelbuild/rules_docker/archive/v0.7.0.tar.gz"],
+    # Invoke puller.par with python2
+    # TODO(q3k): use upstream when py2/py3 bazel madness if fully fixed
+    remote = "https://github.com/q3k/rules_docker",
+    commit = "4642a2a7775e5713596bd6e37758735a0f38aa6e",
+)
+load(
+    "@io_bazel_rules_docker//repositories:repositories.bzl",
+    container_repositories = "repositories",
+)
+container_repositories()
+
+# Docker base images
+
+load("@io_bazel_rules_docker//container:container.bzl", "container_pull")
+container_pull(
+    name = "prodimage-bionic",
+    registry = "index.docker.io",
+    repository = "library/ubuntu",
+    tag = "bionic-20190515",
+    digest = "sha256:b36667c98cf8f68d4b7f1fb8e01f742c2ed26b5f0c965a788e98dfe589a4b3e4",
+)
+
+# HTTP stuff from the Internet
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
+http_file(
+	name = "factorio-headless",
+    urls = ["https://factorio.com/get-download/0.16.51/headless/linux64"],
+	sha256 = "6cb09f5ac87f16f8d5b43cef26c0ae26cc46a57a0382e253dfda032dc5bb367f",
+	downloaded_file_path = "factorio.tar.xz",
 )
 
 # Go rules