You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HAProxy — TCP/HTTP load balancer and reverse proxy. Complements the UI-driven proxies already in the repo (nginxproxymanager, npmplus, zoraxy, traefik) for layer-4 balancing, health checking and failover, where a GUI proxy is not enough. Requested in discussion #3129.
Distribution package, nothing exotic: apt install haproxy.
Ships a working haproxy.cfg with sane defaults, TLS floor at 1.2 (ssl-min-ver TLSv1.2 no-tls-tickets), the standard errorfiles, a statistics page on 8404 with a generated password, and a commented frontend/backend example to copy.
haproxy -c -f validation runs both at install and in the update path — a syntax error stops the service, which takes every proxied site down with it, so the update aborts before restarting rather than after.
Note: there is no configuration UI by design; rules are written by hand. Certificates are not renewed by HAProxy, and it wants cert+key concatenated into one PEM. Both documented in the JSON.
HAProxy has no configuration UI. The install ships only a statistics page on port 8404 plus a commented frontend/backend example - you have to write your own rules in /etc/haproxy/haproxy.cfg.
The generated password for the statistics page is in the 'stats auth' line of /etc/haproxy/haproxy.cfg.
Always validate before restarting: 'haproxy -c -f /etc/haproxy/haproxy.cfg'. A syntax error prevents the service from starting, which takes every proxied site down with it. The update path in this script does that check automatically.
For TLS, HAProxy expects certificate and key concatenated into a single PEM file. Certificates are not renewed by HAProxy itself - pair it with certbot or an ACME client.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
This isn't related to HAProxy, but
if an exclamation mark (!) is included in the “Custom - Password” field, the script won't run.
It would be best to either disallow it on the web form or wrap it in quotes (‘’) when submitting it.
Linux pv-2 7.0.14-11-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.14-11 (2026-08-06T23:36Z) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@pv-2:~# mode=generated var_cpu="8" var_ram="8192" var_disk="32" var_ctid="120" var_hostname="pv-2-lb" var_brg="vmbr1" var_net="static" var_gateway="10.11.10.1" var_net="10.11.10.120/24" var_pw="Test!1234" var_ipv6_method="none" var_ns="10.11.10.5" var_container_storage="vm-disk" bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/haproxy.sh)"
-bash: !1234: event not found
Activity
github-actions commentedon Aug 4, 2026
The HAProxy script is ready for testing:
Default credentials:
Username: admin
HAProxy has no configuration UI. The install ships only a statistics page on port 8404 plus a commented frontend/backend example - you have to write your own rules in /etc/haproxy/haproxy.cfg.
The generated password for the statistics page is in the 'stats auth' line of /etc/haproxy/haproxy.cfg.
Always validate before restarting: 'haproxy -c -f /etc/haproxy/haproxy.cfg'. A syntax error prevents the service from starting, which takes every proxied site down with it. The update path in this script does that check automatically.
For TLS, HAProxy expects certificate and key concatenated into a single PEM file. Certificates are not renewed by HAProxy itself - pair it with certbot or an ACME client.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Discord testing thread: https://discord.com/channels/1302816934508630047/1534081428650856550
Hermandev07 commentedon Aug 10, 2026
Works
enchove commentedon Aug 14, 2026
This isn't related to HAProxy, but
if an exclamation mark (!) is included in the “Custom - Password” field, the script won't run.
It would be best to either disallow it on the web form or wrap it in quotes (‘’) when submitting it.
joishw commentedon Aug 25, 2026
Just replaced a VM install of haproxy with this CT. So far so good.
github-actions commentedon Aug 25, 2026
A PR has been created for haproxy: community-scripts/ProxmoxVE#16760
michelroegl-brunner commentedon Aug 26, 2026
Merged with #16760 in ProxmoxVE
github-actions commentedon Aug 26, 2026
Files deleted with PR #2225