diff --git a/Dockerfile b/Dockerfile
index 39e4d6c34eedf0a3cdc44a3c67ed0415601aec63..f972452a1b174228dc02b4f15d7be2271440590f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,30 +1,26 @@
 # ---- Stage 0 ----
 # Builds media_repo and import_synapse
-FROM golang:1.11-alpine AS builder
+FROM golang:1.12-alpine AS builder
 
 # Install build dependencies
-RUN apk add --no-cache git musl-dev \
- && go get github.com/constabulary/gb/...
+RUN apk add --no-cache git musl-dev
 
-WORKDIR /opt
+COPY . /opt
 
-COPY ./vendor /opt/vendor
-COPY ./src /opt/src
-RUN GOPATH=`pwd`/vendor gb vendor restore
+WORKDIR /opt
 
-RUN GOPATH=`pwd`:`pwd`/vendor go build -v -o /opt/bin/media_repo ./src/github.com/turt2live/matrix-media-repo/cmd/media_repo/ \
- && GOPATH=`pwd`:`pwd`/vendor go build -v -o /opt/bin/import_synapse ./src/github.com/turt2live/matrix-media-repo/cmd/import_synapse/
+RUN ./build.sh
 
 # ---- Stage 1 ----
 # Final runtime stage.
 FROM alpine
 
+COPY --from=builder /opt/bin/media_repo /opt/bin/import_synapse /usr/local/bin/
+
 RUN apk add --no-cache \
         su-exec \
         ca-certificates
 
-COPY --from=builder /opt/bin/media_repo /opt/bin/import_synapse /usr/local/bin/
-
 COPY ./config.sample.yaml /etc/media-repo.yaml.sample
 COPY ./migrations /var/lib/media-repo-migrations
 COPY ./docker/run.sh /usr/local/bin/
diff --git a/build.sh b/build.sh
index eed4d52f502026d9bc06501045f00c44f1a1c200..9a8050f3cec57a2fb2068dab30479078640345ec 100755
--- a/build.sh
+++ b/build.sh
@@ -1,3 +1,3 @@
-#!/bin/bash
+#!/bin/sh
 
 GOBIN=$PWD/`dirname $0`/bin go install -v ./cmd/...