Sign inSign up

readystack/haproxy

By readystack

•Updated about 20 hours ago

Image
0

1.4K

readystack/haproxy repository overview

⁠HAProxy

Signed: cosign SBOM: SPDX attached Provenance: SLSA v1

readystack/haproxy:3.4.6-CE-ubuntu24.04-r2

A cosign-signed build of HAProxy 3.4.6 from https://git.haproxy.org/git/haproxy-3.4.git⁠, tag v3.4.6 (2026-09-28), built clean-room from official upstream source by ReadyStack⁠.

⁠What you get

Signature, user and attestations below were measured on the published digest sha256:98128a11e3a9d73dc6579b693abb65effe458f67aaae00526b05645994d9a7a3 on 2026-10-21.

  • Scan scores — we scan every image we publish every day (an SBOM made with syft, vulnerabilities matched with grype, scored with ce.rodeo's published rubric) and record each scan with how its score was derived. This release's first and latest scan: https://readystack.dev/products.html#haproxy⁠
  • ReadyStack release check — passed at release on 2026-10-21: 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:98128a11e3a9d73dc6579b693abb65effe458f67aaae00526b05645994d9a7a3; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/haproxy:3.4.6-CE-ubuntu24.04-r2.
  • Attestations — An SPDX SBOM and SLSA v1 build provenance are attached to this digest.
  • Runs as a non-root user (haproxy).
  • Built from source by ReadyStack.

⁠Which tag should I pull?

This image follows the ReadyStack release-tag convention:

  • The current release is 3.4.6-CE-ubuntu24.04-r2 — 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.

  • 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/haproxy:3.4.6-CE-ubuntu24.04-r2

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

This release is signed; verify it with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/haproxy:3.4.6-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. HAProxy runs in master-worker mode in the foreground (haproxy -W -db; doc/management.txt: -W starts a master that monitors the workers, -db disables background mode): the master is the container's main process and starts the worker that handles traffic. Compiled from source by this image's build (make TARGET=linux-glibc ...). No database, no sidecar, nothing stored on disk. The shipped configuration is a placeholder that proxies nothing: it answers on port 8080 and serves statistics and metrics inside the container. To load-balance your services, mount a directory holding your haproxy.cfg over /usr/local/etc/haproxy (for example -v "$PWD/haproxy":/usr/local/etc/haproxy:ro; see Config reload in the handbooks).

docker run -d --name haproxy -p 8080:8080 readystack/haproxy:3.4.6-CE-ubuntu24.04-r2

With the shipped configuration, http://localhost:8080/healthz⁠ answers 'Service ready.' and every other path answers a plain-text message saying the placeholder configuration is in use. To proxy your services, put your configuration in a directory as haproxy/haproxy.cfg and mount that directory over /usr/local/etc/haproxy (read-only is fine), for example -v "$PWD/haproxy":/usr/local/etc/haproxy:ro, so that later edits reach the container (see Config reload in the handbooks), and publish the ports your frontends bind. HAProxy runs as the non-root haproxy user, so the file must be readable by that user (see Ports in the handbooks for binding ports below 1024).

⁠The full ReadyStack Agent-ready 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:090604843f984f9e567ab62c13233c030d51e424d0db3cc31143b63f2558c096 on 2026-10-21.

— ReadyStack · readystack.dev

Tag summary

Content type

Image

Digest

sha256:98128a11e…

Size

47.8 MB

Last updated

about 20 hours ago

docker pull readystack/haproxy:3.4.6-CE-ubuntu24.04-r2