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/...