FROM golang:alpine as builder-base
WORKDIR /app
COPY go.mod /app/go.mod
COPY go.sum /app/go.sum
RUN go mod download
COPY . /app
RUN go build -o ezshare main.go

FROM builder-base as cross-compiler
VOLUME ["/data"]
CMD ["/app/scripts/cross-compile.sh"]

FROM alpine:latest
COPY --from=builder-base /app/ezshare /usr/bin/ezshare
EXPOSE 50051
EXPOSE 8088
CMD ["/usr/bin/ezshare", "--config", "/data/ezshare.toml", "serve"]