static
Runtime · Runtime base · standard · v20260621
Tiny static base for self-contained binaries from Go or Rust. Nonroot, no shell, no package manager. The only image tagged :latest.
Security report (Trivy)
Security report (Trivy) · static 20260621
Published versions
1 tagEach tag is a multi-arch index (amd64 + arm64) pinned by digest. Tagged by version, never :latest.
| Version | Size | Published | Digest |
|---|---|---|---|
| 20260621latest | 617.2 KB | 2026-06-21 | sha256:40f7b14a2959… |
Use it as a base image
Reference it in the FROM line of your Dockerfile. Nonroot, read-only root filesystem, built for amd64 and arm64.
FROM ghcr.io/quenchworks/images/static:20260621Or pull it directly
docker pull ghcr.io/quenchworks/images/static:20260621- Version line
- 20260621
- Latest line
- 20260621
- Architectures
- amd64, arm64
- Runs as
- nonroot (uid 1001)
- Root filesystem
- read-only
- License
- MIT
Verify the supply chain
This image is cosign-signed and carries an SPDX SBOM and a SLSA build-provenance attestation on the same digest. Check all three before you build on it:
# 1. signature — built and signed by QuenchWorks CI
cosign verify ghcr.io/quenchworks/images/static:20260621 \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
# 2. SLSA build provenance — which workflow built it, from what
cosign verify-attestation --type https://slsa.dev/provenance/v1 ghcr.io/quenchworks/images/static:20260621 \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
# 3. SPDX SBOM — the package inventory
cosign verify-attestation --type https://spdx.dev/Document/v2.3 ghcr.io/quenchworks/images/static:20260621 \
--certificate-identity-regexp 'https://github.com/quenchworks/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.comSee the SBOM & provenance guide for reading the SBOM and using these checks in CI.
Best-practice Dockerfile for 20260621
static is a runtime base you copy a built artifact onto, not something you install into. Here a Go binary is compiled in a build stage and the static image is the final stage that carries it. A Rust musl binary lands the same way.
# Build stage: compile a fully static binary (Go shown; Rust musl is the same idea).FROM ghcr.io/quenchworks/images/go:1.26.5 AS buildUSER rootWORKDIR /srcENV CGO_ENABLED=0 \ GOOS=linux \ GOCACHE=/tmp/gocache \ GOMODCACHE=/tmp/gomodcache
COPY go.mod go.sum ./RUN ["go", "mod", "download"]COPY . .RUN ["go", "build", "-trimpath", "-ldflags=-s -w", "-o", "/out/app", "./cmd/app"]
# This image is the final runtime stage: just the binary, nonroot.FROM ghcr.io/quenchworks/images/staticCOPY --from=build /out/app /appUSER 1001EXPOSE 8080ENTRYPOINT ["/app"]This Dockerfile is pinned to the 20260621 line. For the line-by-line walkthrough and ecosystem variants (npm/Yarn, pip/uv/Poetry, Maven/Gradle), see the Build a Go or Rust binaryguide.
Upstream project: https://github.com/wolfi-dev