FROM golang:1.21-alpine AS build ARG TARGETOS=linux ARG TARGETARCH=amd64 ARG TARGETVARIANT="" ENV CGO_ENABLED=0 ARG GOPROXY=https://goproxy.cn,direct ENV GOPROXY=$GOPROXY WORKDIR /app RUN apk add --no-cache git COPY server/ ./server/ COPY web/ ./web/ WORKDIR /app/server RUN go env -w GOPROXY=$GOPROXY && GOOS=$TARGETOS GOARCH=$TARGETARCH GOARM=$(echo $TARGETVARIANT | sed 's/^v//') go build -o /app/bin/marketing-data-server ./cmd/server FROM alpine:3.19 WORKDIR /app COPY --from=build /app/bin/marketing-data-server /app/bin/marketing-data-server COPY --from=build /app/web /app/web RUN mkdir -p /app/storage/export EXPOSE 8077 ENTRYPOINT ["/app/bin/marketing-data-server"]