FROM golang:1.26-alpine as builder ARG TARGETOS=linux ARG TARGETARCH=amd64 ARG TARGETVARIANT RUN mkdir /build COPY . /build/ WORKDIR /build RUN set -eux; \ GOARM=""; \ if [ "${TARGETARCH}" = "arm" ] && [ -n "${TARGETVARIANT:-}" ]; then GOARM="${TARGETVARIANT#v}"; fi; \ CGO_ENABLED=0 GOOS="${TARGETOS}" GOARCH="${TARGETARCH}" GOARM="${GOARM}" go build -o invertergui ./cmd/invertergui FROM scratch # Group ID 20 is dialout, needed for tty read/write access USER 3000:20 ENV READ_ONLY=false COPY --from=builder /build/invertergui /bin/ ENTRYPOINT [ "/bin/invertergui" ] EXPOSE 8080