FROM --platform=$BUILDPLATFORM golang:alpine AS builder WORKDIR /app # Download Go modules COPY go.mod go.sum ./ RUN go mod download # Copy source files COPY *.go ./ COPY migrations ./migrations COPY site/dist ./site/dist COPY site/*.go ./site RUN apk add --no-cache \ unzip \ ca-certificates RUN update-ca-certificates # Build ARG TARGETOS TARGETARCH RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags "-w -s" -o /beszel . # ? ------------------------- FROM scratch COPY --from=builder /beszel / COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ EXPOSE 8090 ENTRYPOINT [ "/beszel" ] CMD ["serve", "--http=0.0.0.0:8090"]