Sign inSign up

readystack/nginx

By readystack

•Updated about 12 hours ago

Image
0

2.9K

readystack/nginx repository overview

⁠NGINX

Signed: cosign SBOM: SPDX attached Provenance: SLSA v1

readystack/nginx:1.31.8-CE-ubuntu24.04-r1

A cosign-signed build of github.com/nginx/nginx tag release-1.31.8, built clean-room from official upstream source by ReadyStack⁠.

⁠What you get

Signature, user and attestations below were measured on the published digest sha256:92fc5d07717d697867a9a8b6cf3bd6ecf7d7df9ec2b63a404e75dbe45606e7ca on 2026-10-27.

  • Scan scores — we scan every image we publish every day (an SBOM made with syft, vulnerabilities matched with grype, scored with cerodeo-v1, the rubric ce.rodeo published until 2026-10-26) and record each scan with how its score was derived. This release's first and latest scan: https://readystack.dev/products.html#nginx⁠
  • ReadyStack release check — passed at release on 2026-10-27: no fixable critical or high vulnerability (Docker Scout and OSV), a non-root user, SBOM and provenance attached. This is ReadyStack's own test, not a Docker grade; vulnerabilities published since then are in today's result at https://readystack.dev/queue⁠.
  • Signed — cosign signature by the ReadyStack release key (fingerprint 04daa92344a52dbc) on this release's index digest sha256:92fc5d07717d697867a9a8b6cf3bd6ecf7d7df9ec2b63a404e75dbe45606e7ca; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/nginx:1.31.8-CE-ubuntu24.04-r1.
  • Attestations — An SPDX SBOM and SLSA v1 build provenance are attached to this digest.
  • Runs as a non-root user (nginx).
  • Built from source by ReadyStack.

⁠Which tag should I pull?

This image follows the ReadyStack release-tag convention:

  • The current release is 1.31.8-CE-ubuntu24.04-r1 — the release on sale at readystack.dev. Release tags use the pattern <upstream-version>-CE-<base-os>-r<N>; the current one is signed, attested (SBOM + provenance), and is provided under the ReadyStack Agreement⁠.

  • Earlier release tags (an older version or revision in the same pattern) are superseded. They stay pullable so existing deployments can pin them, but they are no longer re-graded, and fixes appear only in newer releases: move to the current release. For a superseded release's build kit, ask support.

  • Release tags never move, so pulling the same tag again never changes the image. To be offered each new release automatically (a new revision r<N+1>, or a new upstream version), use the ReadyStack Renovate preset: https://readystack.dev/updates.html⁠

  • Any tag beginning with internal- is an engineering-pipeline artifact published for build observability. It is unsupported, may change or disappear without notice, and must not be used in production.

# ✓ current release
docker pull readystack/nginx:1.31.8-CE-ubuntu24.04-r1

# ✗ unsupported (do not pull)
docker pull readystack/nginx:internal-...

This release is signed; verify it with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/nginx:1.31.8-CE-ubuntu24.04-r1 (the signature is recorded in the public Sigstore transparency log). Support: [email protected]⁠, as set out in the ReadyStack Agreement⁠.

⁠Deployment

Single container. The nginx master process is the container's main process (ENTRYPOINT /opt/nginx/sbin/nginx with the default arguments -g 'daemon off;') and starts the worker processes. nginx is compiled from source by this image's build (./auto/configure, make, make install). No database, no sidecar and no state kept on disk: with no mounts at all, the shipped configuration (/etc/nginx/nginx.conf and /etc/nginx/conf.d/default.conf) serves upstream's welcome page and other static files from /usr/share/nginx/html on port 8080. Beyond that, what the server does is decided by the configuration you mount; it works as a web server, a reverse proxy, a TCP/UDP (stream) proxy and a mail proxy.

docker run -d --name nginx -p 8080:8080 readystack/nginx:1.31.8-CE-ubuntu24.04-r1

The shipped default site answers http://localhost:8080/⁠ with upstream's 'Welcome to nginx!' page and http://localhost:8080/healthz⁠ with the text ok. To serve your own files, mount them over the document root, for example -v "$PWD/site":/usr/share/nginx/html:ro. Mount configuration one file at a time: -v "$PWD/site.conf":/etc/nginx/conf.d/site.conf:ro adds a site next to the shipped default.conf (nginx.conf includes every /etc/nginx/conf.d/*.conf; an HTTPS site also needs its certificate and key mounted and its port published, see Tls in the handbooks), a file mounted over /etc/nginx/conf.d/default.conf replaces the default site, and a file mounted over /etc/nginx/nginx.conf replaces the main configuration. Mounting a directory over /etc/nginx/conf.d hides the shipped default.conf, which holds the port 8080 site and /healthz, so nothing answers on 8080 and the container turns unhealthy unless that directory provides its own listen 8080; server. Create each file before docker run: for a missing source path -v creates an empty directory instead. The container runs as the non-root nginx user, so mounted files must be readable by that user; keep nginx's own listen ports on 8080 and 8443 and publish them on the host ports you want (for example -p 80:8080).

⁠The full ReadyStack Hermetic Build Kit

The complete --network=none build kit for this image — plus admin/DB/API handbooks, the build's validation records, and its build provenance records — is at readystack.dev/buy.html⁠. A clean-room rebuild from this release's archive on an egress-blocked host reproduced its linux/amd64 digest sha256:a15dcfdc9d381a8f199efba6a96fa8683d39b0dd6d4b2e81423bb023da1d102c on 2026-10-27.

— ReadyStack · readystack.dev

Tag summary

Content type

Image

Digest

sha256:92fc5d077…

Size

36.1 MB

Last updated

about 12 hours ago

docker pull readystack/nginx:1.31.8-CE-ubuntu24.04-r1