No description
- Updated HAProxy configuration templates to include `check` for `srv_stats` and `srv_dashboard` backends. - Adjusted expected test case outputs to account for the added health check settings. |
||
|---|---|---|
| .github | ||
| .run | ||
| .vscode | ||
| deploy | ||
| docs | ||
| helm/easyhaproxy | ||
| scripts | ||
| src | ||
| tests | ||
| tests_e2e | ||
| .dockerignore | ||
| .gitignore | ||
| .python-version | ||
| build-multiarch.sh | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| pyproject.toml | ||
| README.md | ||
| RELEASE.md | ||
| uv.lock | ||
EasyHAProxy
Service discovery for HAProxy
EasyHAProxy dynamically creates haproxy.cfg based on metadata from your workloads — Docker labels, Swarm service labels, or Kubernetes Ingress annotations. No HAProxy knowledge required.
Features
- Automatic service discovery — Docker, Docker Swarm, Kubernetes, or static YAML
- Zero-downtime HAProxy reload — configuration updates happen without dropping connections
- Automatic TLS with ACME — Let's Encrypt, ZeroSSL, BuyPass, and more
- Custom SSL certificates — volume-mount or label-embed your own PEM files
- TCP mode — proxy any TCP service, not just HTTP
- Plugin system — JWT validation, IP whitelisting, Cloudflare IP restoration, FastCGI, path blocking, and custom plugins
- HAProxy stats dashboard — optional, password-protected
- Balance algorithms — roundrobin, leastconn, source, uri, and more
Supported platforms
Install using tools:
Documentation
| Section | Description |
|---|---|
| Getting Started | Choose your runtime and discovery mode, minimal working setup |
| Guides | SSL, ACME, plugins, Helm, MicroK8s, Dokku, DigitalOcean |
| Concepts | Service discovery, config pipeline, plugin model, TLS termination |
| Reference | Environment variables, container labels, CLI flags, volumes |
Who is using?
EasyHAProxy is part of some projects:
See EasyHAProxy in action
Click on the image to see the videos (use HD for better visualization)
Here is the code applied in the test examples above.














