## 1. Build Server
# Use Go 1.11
FROM golang:1.11 AS build

# Load repository into docker
WORKDIR /go/src/git.aiterp.net/rpdata/logbot3/
COPY . .
RUN rm -rf ./vendor

# Load and run dependencies
RUN go get -u github.com/golang/dep/cmd/dep
RUN dep ensure

# Build server and tools (CGO disabled to make them 100% static)
ENV CGO_ENABLED 0
RUN go build -a -installsuffix cgo -ldflags="-s -w" -o /binaries/logbot3 .

## 2. Distribute
# Use alpine linux
FROM alpine:3.8 as main-dist

# Install certificates to enable HTTPS GET requests
RUN apk add --no-cache ca-certificates

# Copy build files into final container
COPY --from=build /binaries/* /usr/local/bin/

# The server is the main entry point
CMD ["/usr/local/bin/logbot3"]
