diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 469d254..72feef1 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -49,6 +49,10 @@ jobs: push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + platforms: + - linux/amd64 + - linux/arm64 + - linux/arm/v7 # Sign the Docker image - name: Install cosign diff --git a/Dockerfile b/Dockerfile index b40ae84..ac07ff6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,26 +1,21 @@ -FROM golang:1.17 as build +# syntax=docker/dockerfile:1.4 +FROM --platform=$BUILDPLATFORM cgr.dev/chainguard/go:latest as build LABEL maintainer="Will Norris " -RUN useradd -u 1001 go - WORKDIR /app - COPY go.mod go.sum ./ RUN go mod download COPY . . -RUN CGO_ENABLED=0 GOOS=linux go build -v ./cmd/imageproxy +ARG TARGETOS +ARG TARGETARCH +RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -v ./cmd/imageproxy -FROM scratch +FROM cgr.dev/chainguard/static:latest -COPY --from=build /etc/passwd /etc/passwd -COPY --from=build /usr/share/zoneinfo /usr/share/zoneinfo -COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt COPY --from=build /app/imageproxy /app/imageproxy -USER go - CMD ["-addr", "0.0.0.0:8080"] ENTRYPOINT ["/app/imageproxy"]