2019-06-04 18:56:29 +02:00
# Default to Go 1.12
ARG GO_VERSION=1.12
FROM golang:${GO_VERSION}-alpine as build
# Necessary to run 'go get' and to compile the linked binary
RUN apk add git musl-dev
2014-11-11 15:35:16 +01:00
2017-03-22 22:28:05 +01:00
ADD . /go/src/github.com/dutchcoders/transfer.sh
2014-11-11 15:35:16 +01:00
2019-06-04 18:56:29 +02:00
WORKDIR /go/src/github.com/dutchcoders/transfer.sh
ENV GO111MODULE=on
2019-08-18 10:04:45 +02:00
ENV APP_PORT=8080
2019-06-04 18:56:29 +02:00
2014-11-11 15:35:16 +01:00
# build & install server
2019-06-04 18:56:29 +02:00
RUN go get -u ./... && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags -a -tags netgo -ldflags '-w -extldflags "-static"' -o /go/bin/transfersh github.com/dutchcoders/transfer.sh
FROM scratch AS final
LABEL maintainer="Andrea Spacca <andrea.spacca@gmail.com>"
2014-11-11 15:35:16 +01:00
2019-06-04 18:56:29 +02:00
COPY --from=build /go/bin/transfersh /go/bin/transfersh
2019-06-23 13:03:31 +02:00
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
2018-09-22 10:55:02 +02:00
2019-08-17 10:48:22 +02:00
ENTRYPOINT /go/bin/transfersh --listener :$APP_PORT
2014-11-11 15:35:16 +01:00
2018-10-28 19:40:30 +01:00
EXPOSE 8080