diff --git a/appmanager/BUILD b/appmanager/BUILD
new file mode 100644
index 0000000..9faa2ab
--- /dev/null
+++ b/appmanager/BUILD
@@ -0,0 +1,12 @@
+load("//:bazel_tools/docker.bzl", "docker_image")
+
+# TODO(lekva): figure out how to build py_binary with pip dependencies and
+# migrate off docker_image rule
+docker_image(
+	name = "push_to_dev",
+	registry = "localhost:30500",
+	image = "giolekva/pcloud-app-manager",
+	tag = "latest",
+	dockerfile = "Dockerfile",
+	srcs = glob(["**"], exclude=["Dockerfile"]),
+)
diff --git a/apps/face_detection/BUILD b/apps/face_detection/BUILD
index d1ed253..8a61786 100644
--- a/apps/face_detection/BUILD
+++ b/apps/face_detection/BUILD
@@ -1,17 +1,16 @@
-load("@rules_pkg//:pkg.bzl", "pkg_tar")
+load("//:bazel_tools/docker.bzl", "docker_image")
 
 # TODO(lekva): figure out how to build py_binary with pip dependencies and
-# migrate off of shell script running docker build
-sh_binary(
+# migrate off docker_image rule
+docker_image(
 	name = "push_to_dev",
-	srcs = ["push_to_dev.sh"],
-	data = glob(["*.py"]) + [
-	     "Dockerfile",
+	registry = "localhost:30500",
+	image = "giolekva/face-detector",
+	tag = "latest",
+	dockerfile = "Dockerfile",
+	srcs = glob(["*.py"]) + [
 	     "haarcascade_frontalface_default.xml",
 	],
-	deps = [
-	     "@bazel_tools//tools/bash/runfiles",
-	],
 )
 
 pkg_tar(
diff --git a/apps/face_detection/Dockerfile b/apps/face_detection/Dockerfile
index befcba5..8c0996c 100644
--- a/apps/face_detection/Dockerfile
+++ b/apps/face_detection/Dockerfile
@@ -15,4 +15,5 @@
     python3-opencv
 
 WORKDIR /app
-COPY . /app
\ No newline at end of file
+COPY *.py /app/
+COPY *.xml /app/
diff --git a/apps/face_detection/push_to_dev.sh b/apps/face_detection/push_to_dev.sh
deleted file mode 100755
index 48342f9..0000000
--- a/apps/face_detection/push_to_dev.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-# --- begin runfiles.bash initialization ---
-# Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
-set -euo pipefail
-if [[ ! -d "${RUNFILES_DIR:-/dev/null}" && ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
-    if [[ -f "$0.runfiles_manifest" ]]; then
-        export RUNFILES_MANIFEST_FILE="$0.runfiles_manifest"
-    elif [[ -f "$0.runfiles/MANIFEST" ]]; then
-        export RUNFILES_MANIFEST_FILE="$0.runfiles/MANIFEST"
-    elif [[ -f "$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-        export RUNFILES_DIR="$0.runfiles"
-    fi
-fi
-if [[ -f "${RUNFILES_DIR:-/dev/null}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-    source "${RUNFILES_DIR}/bazel_tools/tools/bash/runfiles/runfiles.bash"
-elif [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
-    source "$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
-    	                 "$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
-else
-    echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
-    exit 1
-fi
-# --- end runfiles.bash initialization ---
-
-DOCKERFILE="$(rlocation __main__/apps/face_detection/Dockerfile)"
-IMAGE="localhost:30500/giolekva/face-detector"
-
-docker build \
-       --tag=$IMAGE \
-       --file=$DOCKERFILE \
-       "$(dirname "$DOCKERFILE")"
-
-docker push $IMAGE
diff --git a/bazel_tools/docker.bzl b/bazel_tools/docker.bzl
new file mode 100644
index 0000000..1149497
--- /dev/null
+++ b/bazel_tools/docker.bzl
@@ -0,0 +1,55 @@
+__PUSH_TO_DEV_TMPL = """
+#!/bin/sh
+set -eE -o functrace
+# --- begin runfiles.bash initialization ---
+# Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
+set -euo pipefail
+if [[ ! -d "\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    if [[ -f "\$$0.runfiles_manifest" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles_manifest"
+    elif [[ -f "\$$0.runfiles/MANIFEST" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles/MANIFEST"
+    elif [[ -f "\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+        export RUNFILES_DIR="\$$0.runfiles"
+    fi
+fi
+if [[ -f "\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+    source "\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
+elif [[ -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    source "\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
+    	                 "\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
+else
+    echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
+    exit 1
+fi
+# --- end runfiles.bash initialization ---
+IMAGE="{registry}/{image}:{tag}"
+DOCKERFILE=\$$(rlocation __main__/{package}/{dockerfile})
+docker build \
+      --tag=\$$IMAGE \
+      --file=\$$DOCKERFILE \
+      \$$(dirname "\$$DOCKERFILE")
+docker push \$$IMAGE
+"""
+
+
+def docker_image(name, registry, image, tag, dockerfile, srcs, **kwargs):
+    native.genrule(
+	name = "%s.sh" % name,
+	executable = False,
+	outs = ["build_and_push.sh",],
+	cmd = """cat > $@ <<EOM
+%s
+EOM
+""" % __PUSH_TO_DEV_TMPL.format(
+	    registry = registry,
+	    image = image,
+	    tag = tag,
+	    dockerfile = dockerfile,
+	    package = native.package_name(),
+	))
+    native.sh_binary(
+	name = name,
+	srcs = ["build_and_push.sh",],
+	data = srcs + [dockerfile,],
+	deps = ["@bazel_tools//tools/bash/runfiles",])
diff --git a/controller/BUILD b/controller/BUILD
new file mode 100644
index 0000000..bfdf0b1
--- /dev/null
+++ b/controller/BUILD
@@ -0,0 +1,12 @@
+load("//:bazel_tools/docker.bzl", "docker_image")
+
+# TODO(lekva): figure out how to build py_binary with pip dependencies and
+# migrate off docker_image rule
+docker_image(
+	name = "push_to_dev",
+	registry = "localhost:30500",
+	image = "giolekva/pcloud-api-server",
+	tag = "latest",
+	dockerfile = "Dockerfile",
+	srcs = glob(["**"], exclude=["Dockerfile"]),
+)
diff --git a/dev/install_core_services.sh b/dev/install_core_services.sh
index c2d9a49..d1515c6 100755
--- a/dev/install_core_services.sh
+++ b/dev/install_core_services.sh
@@ -2,12 +2,11 @@
 
 ROOT="$(dirname -- $(pwd))"
 
-sh $ROOT/apps/dgraph/install.sh
+source $ROOT/apps/dgraph/install.sh
 
 # Knowledge Graph
 cd "$ROOT/controller"
-docker build --tag=localhost:30500/giolekva/pcloud-api-server .
-docker push localhost:30500/giolekva/pcloud-api-server
+bazel run //controller:push_to_dev
 kubectl create namespace pcloud
 helm --namespace=pcloud install init chart \
      --set image.name=localhost:30500/giolekva/pcloud-api-server \
@@ -15,8 +14,7 @@
 
 # Application Manager
 cd "$ROOT/appmanager"
-docker build --tag=localhost:30500/giolekva/pcloud-app-manager .
-docker push localhost:30500/giolekva/pcloud-app-manager
+bazel run //appmanager:push_to_dev
 kubectl create namespace pcloud-app-manager
 helm --namespace=pcloud-app-manager install init chart \
      --set image.name=localhost:30500/giolekva/pcloud-app-manager \
@@ -24,8 +22,7 @@
 
 # Event Processor
 cd "$ROOT/events"
-docker build --tag=localhost:30500/giolekva/pcloud-event-processor .
-docker push localhost:30500/giolekva/pcloud-event-processor
+bazel run //events:push_to_dev
 kubectl create namespace pcloud-event-processor
 helm --namespace=pcloud-event-processor install init chart \
      --set image.name=localhost:30500/giolekva/pcloud-event-processor \
diff --git a/events/BUILD b/events/BUILD
new file mode 100644
index 0000000..a53e460
--- /dev/null
+++ b/events/BUILD
@@ -0,0 +1,12 @@
+load("//:bazel_tools/docker.bzl", "docker_image")
+
+# TODO(lekva): figure out how to build py_binary with pip dependencies and
+# migrate off docker_image rule
+docker_image(
+	name = "push_to_dev",
+	registry = "localhost:30500",
+	image = "giolekva/pcloud-event-processor",
+	tag = "latest",
+	dockerfile = "Dockerfile",
+	srcs = glob(["**"], exclude=["Dockerfile"]),
+)
