Sign inSign up

readystack/nginx

By readystack

•Updated about 18 hours ago

NGINX: web server, reverse proxy, cache and load balancer. Signed; SBOM and SLSA v1 provenance.

Image
Networking
Web servers
0

4.0K

readystack/nginx repository overview

⁠NGINX

Signed: cosign SBOM: SPDX attached Provenance: SLSA v1

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

Source, recipe and records

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

⁠Who uses it and why

Who: Web developers and system administrators who serve websites and put applications behind a reverse proxy.

Why: NGINX is an HTTP web server, reverse proxy, content cache and load balancer, and can also proxy TCP, UDP and mail traffic.

Use case: A team serves a web application's pages and its API from the same address. NGINX serves the static files directly, terminates TLS, caches responses, and passes API requests to a pool of application servers with load balancing.

About the upstream project, written from its own description: https://github.com/nginx/nginx⁠ · https://nginx.org/en/⁠

⁠What you get

Signature, user and attestations below were measured on the published digest sha256:2a98421715e5844ebbc6a61f2afb209727742cc685b126d2b61e83b0632507bf on 2026-11-05.

  • 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/nginx⁠
  • ReadyStack release check — passed at release on 2026-11-05: 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:2a98421715e5844ebbc6a61f2afb209727742cc685b126d2b61e83b0632507bf; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/nginx:1.31.8-CE-ubuntu24.04-r2.
  • 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-r2 — the release listed 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-r2

# ✗ 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-r2 (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-r2

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 a free download for any registered account at readystack.dev/products/nginx⁠. A clean-room rebuild from this release's archive on an egress-blocked host reproduced its linux/amd64 digest sha256:3b40bdc74c8693e0db68304b4ac021dc00047e6141126af3c08d563c904cc4a0 on 2026-11-05.

⁠Trademarks

This image contains NGINX®.

NGINX® is a registered trademark of F5, Inc.

ReadyStack is not affiliated with or endorsed by F5, Inc.

The name identifies the software in this image; it is built from github.com/nginx/nginx source at release-1.31.8 (commit 140aa9427118). ReadyStack does not modify its source.

ReadyStack uses no project logos.

Trademark policy: https://www.f5.com/company/policies/trademarks⁠ (read 2026-11-04).

— ReadyStack · readystack.dev

Tag summary

Content type

Image

Digest

sha256:2a9842171…

Size

37.9 MB

Last updated

about 18 hours ago

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