diff --git a/Dockerfile b/Dockerfile index 774e1f2..a9359cb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,17 @@ -FROM alpine:latest -ARG BINAME=tgbuser-grpc-linux-arm64-0.0.0_1 -COPY ./bin/${BINAME} /usr/bin/tgbuser-grpc -RUN mkdir /app -WORKDIR /app -ENTRYPOINT tgbuser-grpc +FROM golang:alpine AS builder +ARG TARGETARCH +ARG version=not-set +ARG SHORTSHA=not-set +WORKDIR /app +COPY . . +# https://stackoverflow.com/questions/70369368/check-architecture-in-dockerfile-to-get-amd-arm +RUN go build -o bin/tgbuser \ + -ldflags "-X main.Shortsha=${SHORTSHA} \ + -X main.Version=${version} \ + -X main.Aarch=${TARGETARCH}" ./cmd + +FROM alpine AS runner +COPY --from=builder /app/bin/tgbuser /usr/bin/ +WORKDIR /app +ENTRYPOINT /usr/bin/tgbuser