haproxy
HAProxy TCP and HTTP load balancer for high-traffic sites. Compiled from upstream source, shell-less, cosign-signed and rebuilt daily against CVEs.
- Vulnerabilities
- Not scanned
- Compressed size
- —
- Architectures
- amd64, arm64
- Default user
- haproxy (65532)
- Last built
- —
- Upstream
- www.haproxy.org
Pull this image
docker pull ghcr.io/rtvkiz/minimal-haproxy:latest docker pull ghcr.io/rtvkiz/minimal-haproxy:latest-dev The -dev variant adds a shell, package manager and build toolchain. For CI and debugging — not production.
- Repository
- ghcr.io/rtvkiz/minimal-haproxy
- Primary package
- haproxy
Some data was unavailable for this build: partial.
- Entrypoint
- /usr/bin/haproxy -f /etc/haproxy/haproxy.cfg
- User
- haproxy (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-haproxy org.opencontainers.image.description Hardened shell-less HAProxy image built from source via melange with daily CVE patches org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/haproxy org.opencontainers.image.licenses GPL-2.0-or-later
- Entrypoint
- /usr/bin/haproxy -f /etc/haproxy/haproxy.cfg
- User
- haproxy (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-haproxy-dev org.opencontainers.image.description Dev variant of minimal-haproxy: same haproxy + shell + socat (admin socket) + curl/openssl/dig. Not for production. org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/haproxy org.opencontainers.image.licenses GPL-2.0-or-later dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 3 | ghcr.io/rtvkiz/minimal-haproxy:3 | 2026-11-12 |
| 3.4 | ghcr.io/rtvkiz/minimal-haproxy:3.4 | 2026-11-12 |
| 3.4.7-r0 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0 | 2026-11-12 |
| 3.4.7-r0-20261112 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261112 | 2026-11-12 |
| latest | ghcr.io/rtvkiz/minimal-haproxy:latest | 2026-11-12 |
| 3-dev | ghcr.io/rtvkiz/minimal-haproxy:3-dev | 2026-11-12 |
| 3.4-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4-dev | 2026-11-12 |
| 3.4.7-r0-20261112-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261112-dev | 2026-11-12 |
| 3.4.7-r0-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-dev | 2026-11-12 |
| latest-dev | ghcr.io/rtvkiz/minimal-haproxy:latest-dev | 2026-11-12 |
| 3.4.7-r0-20261111-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261111-dev | 2026-11-11 |
| 3.4.7-r0-20261111 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261111 | 2026-11-11 |
| 3.4.7-r0-20261110 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261110 | 2026-11-10 |
| 3.4.7-r0-20261110-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261110-dev | 2026-11-10 |
| 3.4.7-r0-20261108 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261108 | 2026-11-08 |
| 3.4.7-r0-20261108-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261108-dev | 2026-11-08 |
| 3.4.7-r0-20261107 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261107 | 2026-11-07 |
| 3.4.7-r0-20261107-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261107-dev | 2026-11-07 |
| 3.4.7-r0-20261106 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261106 | 2026-11-06 |
| 3.4.7-r0-20261106-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261106-dev | 2026-11-06 |
| 3.4.7-r0-20261105 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261105 | 2026-11-05 |
| 3.4.7-r0-20261105-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261105-dev | 2026-11-05 |
| 3.4.7-r0-20261104 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261104 | 2026-11-04 |
| 3.4.7-r0-20261104-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261104-dev | 2026-11-04 |
| 3.4.7-r0-20261031 | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261031 | 2026-10-31 |
| 3.4.7-r0-20261031-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.7-r0-20261031-dev | 2026-10-31 |
| 3.4.0-r0 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0 | 2026-10-27 |
| 3.4.0-r0-20261027 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261027 | 2026-10-27 |
| 3.4.0-r0-20261027-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261027-dev | 2026-10-27 |
| 3.4.0-r0-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-dev | 2026-10-27 |
| 3.4.0-r0-20261026 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261026 | 2026-10-26 |
| 3.4.0-r0-20261026-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261026-dev | 2026-10-26 |
| 3.4.0-r0-20261025 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261025 | 2026-10-25 |
| 3.4.0-r0-20261025-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261025-dev | 2026-10-25 |
| 3.4.0-r0-20261024 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261024 | 2026-10-24 |
| 3.4.0-r0-20261024-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261024-dev | 2026-10-24 |
| 3.4.0-r0-20261023-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261023-dev | 2026-10-23 |
| 3.4.0-r0-20261023 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261023 | 2026-10-23 |
| 3.4.0-r0-20261022 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261022 | 2026-10-22 |
| 3.4.0-r0-20261022-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261022-dev | 2026-10-22 |
| 3.4.0-r0-20261021 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261021 | 2026-10-21 |
| 3.4.0-r0-20261021-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261021-dev | 2026-10-21 |
| 3.4.0-r0-20261020 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261020 | 2026-10-20 |
| 3.4.0-r0-20261020-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261020-dev | 2026-10-20 |
| 3.4.0-r0-20261019 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261019 | 2026-10-19 |
| 3.4.0-r0-20261019-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261019-dev | 2026-10-19 |
| 3.4.0-r0-20261018 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261018 | 2026-10-18 |
| 3.4.0-r0-20261018-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261018-dev | 2026-10-18 |
| 3.4.0-r0-20261016 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261016 | 2026-10-16 |
| 3.4.0-r0-20261017 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261017 | 2026-10-16 |
| 3.4.0-r0-20261016-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261016-dev | 2026-10-16 |
| 3.4.0-r0-20261017-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261017-dev | 2026-10-16 |
| 3.4.0-r0-20261015 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261015 | 2026-10-15 |
| 3.4.0-r0-20261015-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261015-dev | 2026-10-15 |
| 3.4.0-r0-20261014 | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261014 | 2026-10-14 |
| 3.4.0-r0-20261014-dev | ghcr.io/rtvkiz/minimal-haproxy:3.4.0-r0-20261014-dev | 2026-10-14 |
80 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| alpine/ca-certificates | 20261020 | MPL-2.0 AND MIT |
| brotli | v1.2.1 | MIT |
| brotli.yaml | f5ef816d1cb2bd0e165a402c4e8a4c4622464bf3 | Apache-2.0 |
| ca-certificates-bundle | 20261020-r0 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20261020-r0 | (MPL-2.0 AND MIT) |
| ca-certificates-bundle | 20261020-r0 | — |
| ca-certificates.yaml | 8061afafa65af5a9026707a8880e14120dd6f4a0 | Apache-2.0 |
| gcc.yaml | 4d188060cbd00821a95f1ef60605da4817e781bb | Apache-2.0 |
| glibc-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r16 | — |
| glibc-2.44-locale-posix | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r16 | — |
| glibc-2.44.yaml | 69c2b75e0711c38be3c5881e3a141667ccf54341 | Apache-2.0 |
| gnutools/gcc | releases/gcc-16.2.0 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| gnutools/glibc | 47e2b570410fab606de29f550534a721184852c3 | LGPL-2.1-or-later |
| haproxy | 3.4.7-r0 | GPL-2.0-or-later |
| images/haproxy/melange.yaml | 862101ee7af52b6dfb7db319fbf7c11793a3d433 | — |
| ld-linux-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r16 | — |
| libbrotlicommon1 | 1.2.1-r3 | MIT |
| libbrotlicommon1 | 1.2.1-r3 | MIT |
| libbrotlicommon1 | 1.2.1-r3 | — |
| libbrotlidec1 | 1.2.1-r3 | MIT |
| libbrotlidec1 | 1.2.1-r3 | MIT |
| libbrotlidec1 | 1.2.1-r3 | — |
| libbrotlienc1 | 1.2.1-r3 | MIT |
| libbrotlienc1 | 1.2.1-r3 | MIT |
| libbrotlienc1 | 1.2.1-r3 | — |
| libcrypt1-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| libcrypt1-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| libcrypt1-2.44 | 2.44-r16 | — |
| libgcc | 16.2.0-r3 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libgcc | 16.2.0-r3 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libgcc | 16.2.0-r3 | — |
| libpcre2-8-0 | 10.49-r3 | BSD-3-Clause |
| libpcre2-8-0 | 10.49-r3 | BSD-3-Clause |
| libpcre2-8-0 | 10.49-r3 | — |
| libxcrypt | 4.5.2-r8 | GPL-2.0-or-later AND LGPL-2.1-or-later |
| libxcrypt | v4.5.2 | GPL-2.0-or-later AND LGPL-2.1-or-later |
| libxcrypt | 4.5.2-r8 | (GPL-2.0-or-later AND LGPL-2.1-or-later) |
| libxcrypt | 4.5.2-r8 | — |
| libxcrypt.yaml | b9898dbb7125f3678bc8c6cd9e7a43d9d9d2c518 | Apache-2.0 |
| openssl | openssl-4.1.0 | Apache-2.0 |
| openssl | openssl-4.0.3 | Apache-2.0 |
| openssl | openssl-3.6.5 | Apache-2.0 |
| openssl-3.6-libcrypto | 3.6.5-r6 | Apache-2.0 |
| openssl-3.6-libcrypto | 3.6.5-r6 | Apache-2.0 |
| openssl-3.6-libcrypto | 3.6.5-r6 | — |
| openssl-3.6-libssl | 3.6.5-r6 | Apache-2.0 |
| openssl-3.6-libssl | 3.6.5-r6 | Apache-2.0 |
| openssl-3.6-libssl | 3.6.5-r6 | — |
| openssl-4.0-libcrypto | 4.0.3-r8 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.3-r8 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.3-r8 | — |
| openssl-4.0-libssl | 4.0.3-r8 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.3-r8 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.3-r8 | — |
| openssl-4.0.yaml | 53fb2f6751f832fa61ddba06cb8a40dbba5f409f | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.1.0-r0 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.1.0-r0 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.1.0-r0 | — |
| openssl-provider-legacy-allowed.yaml | aeae4801330be6fd269d5ed5640dc37b58ccab09 | Apache-2.0 |
| openssl.yaml | 106006908276f73e5d13ceca9bc7038ea2d46446 | Apache-2.0 |
| pcre2 | pcre2-10.49 | BSD-3-Clause |
| pcre2.yaml | 5aeb575ed7ca64fb21dfda042e170d08f1654bbc | Apache-2.0 |
| sha256:48976aff5396ba5082ff2e4fb64f572478f1734d3856da0c70b92f7996463d59 | sha256:48976aff5396ba5082ff2e4fb64f572478f1734d3856da0c70b92f7996463d59 | — |
| sha256:ffa1c19e63e399f0dbe33504b2bbb45ef51f660e6d1eed5d322ec3a4eb6e6301 | 20230201 | — |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r31 | MIT |
| wolfi-baselayout | 20230201-r31 | MIT |
| wolfi-baselayout | 20230201-r31 | — |
| wolfi-baselayout.yaml | ed415005c84750f03c4a9252137813734a224ae7 | Apache-2.0 |
| zlib | 1.3.2.1_rc20260921-r2 | MPL-2.0 AND MIT |
| zlib | 767c4c947852e143f582c85f14cf573411df1b35 | MPL-2.0 AND MIT |
| zlib | 1.3.2.1_rc20260921-r2 | (MPL-2.0 AND MIT) |
| zlib | 1.3.2.1_rc20260921-r2 | — |
| zlib.yaml | 5aeb575ed7ca64fb21dfda042e170d08f1654bbc | Apache-2.0 |
No scan data for this build. Advisories appear after the next scheduled CVE scan.
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA v1.0, Build L2)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-haproxy:latest --owner rtvkiz Cosign signature
cosign verify \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-haproxy:latest SBOM attestation (SPDX)
cosign verify-attestation --type spdxjson \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-haproxy:latest \
| jq -r '.payload | @base64d | fromjson | .predicate' Signatures are logged in the public Rekor transparency log.
More Web Servers & Proxies images
Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.