FROM golang:1.17-alpine3.15 AS go_builder
RUN apk --no-cache add \
    build-base \
    imagemagick6 \
    imagemagick6-dev
WORKDIR /go/src/app
COPY go.* ./
ENV CGO_ENABLED=1
ENV CGO_CFLAGS_ALLOW=-Xpreprocessor
ENV GOPROXY=https://proxy.golang.org
RUN go mod download
COPY . ./
RUN go build -o app ./cli

FROM alpine:3.15
RUN apk --no-cache add imagemagick6
RUN addgroup -g 1000 -S app && \
    adduser -u 1000 -G app -S app
COPY --from=go_builder /go/src/app /
USER app
ENTRYPOINT ["/app"]