diff --git a/lifecycle/container/Dockerfile b/lifecycle/container/Dockerfile index bc1ddb0a64..2ee1e5c1a1 100644 --- a/lifecycle/container/Dockerfile +++ b/lifecycle/container/Dockerfile @@ -42,8 +42,9 @@ WORKDIR /go/src/goauthentik.io RUN --mount=type=cache,id=apt-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/var/cache/apt \ dpkg --add-architecture arm64 && \ + dpkg --add-architecture amd64 && \ apt-get update && \ - apt-get install -y --no-install-recommends crossbuild-essential-arm64 gcc-aarch64-linux-gnu + apt-get install -y --no-install-recommends crossbuild-essential-arm64 gcc-aarch64-linux-gnu crossbuild-essential-amd64 gcc-x86-64-linux-gnu RUN --mount=type=bind,target=/go/src/goauthentik.io/go.mod,src=./go.mod \ --mount=type=bind,target=/go/src/goauthentik.io/go.sum,src=./go.sum \ @@ -62,7 +63,8 @@ COPY ./packages/client-go /go/src/goauthentik.io/packages/client-go RUN --mount=type=cache,sharing=locked,target=/go/pkg/mod \ --mount=type=cache,id=go-build-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/root/.cache/go-build \ - if [ "$TARGETARCH" = "arm64" ]; then export CC=aarch64-linux-gnu-gcc && export CC_FOR_TARGET=gcc-aarch64-linux-gnu; fi && \ + if [ "$TARGETARCH" = "arm64" ] && [ "$(uname -m)" != "aarch64" ]; then export CC=aarch64-linux-gnu-gcc && export CC_FOR_TARGET=gcc-aarch64-linux-gnu; fi && \ + if [ "$TARGETARCH" = "amd64" ] && [ "$(uname -m)" != "x86_64" ]; then export CC=x86_64-linux-gnu-gcc; fi && \ CGO_ENABLED=1 GOFIPS140=latest GOARM="${TARGETVARIANT#v}" \ go build -o /go/authentik ./cmd/server