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 cmd/ezshare.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"]