73 lines
4.2 KiB
Markdown
73 lines
4.2 KiB
Markdown
# EasyHAProxy
|
|
|
|
[](https://github.com/sponsors/byjg)
|
|
[](http://opensource.byjg.com)
|
|
[](https://github.com/byjg/docker-easy-haproxy/actions/workflows/build.yml)
|
|
[](https://github.com/byjg/docker-easy-haproxy/)
|
|
[](https://opensource.byjg.com/opensource/licensing.html)
|
|
[](https://github.com/byjg/docker-easy-haproxy/releases/)
|
|
[](https://opensource.byjg.com/helm)
|
|
[](https://artifacthub.io/packages/search?repo=byjg)
|
|
|
|

|
|
|
|
## 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
|
|
|
|
[](docs/getting-started/kubernetes.md)
|
|
[](docs/getting-started/swarm.md)
|
|
[](docs/getting-started/docker.md)
|
|
[](docs/getting-started/static.md)
|
|
|
|
Install using tools:
|
|
|
|
[](docs/guides/helm.md)
|
|
[](docs/guides/microk8s.md)
|
|
[](docs/guides/dokku.md)
|
|
[](docs/guides/digitalocean.md)
|
|
|
|
## Documentation
|
|
|
|
| Section | Description |
|
|
|---------|-------------|
|
|
| **[Getting Started](docs/getting-started/index.md)** | Choose your runtime and discovery mode, minimal working setup |
|
|
| **[Guides](docs/guides/ssl.md)** | SSL, ACME, plugins, Helm, MicroK8s, Dokku, DigitalOcean |
|
|
| **[Concepts](docs/concepts/index.md)** | Service discovery, config pipeline, plugin model, TLS termination |
|
|
| **[Reference](docs/reference/environment-variables.md)** | Environment variables, container labels, CLI flags, volumes |
|
|
|
|
## Who is using?
|
|
|
|
EasyHAProxy is part of some projects:
|
|
- [Dokku](docs/guides/dokku.md)
|
|
- [MicroK8s](docs/guides/microk8s.md)
|
|
- [DigitalOcean Marketplace](docs/guides/digitalocean.md)
|
|
|
|
## See EasyHAProxy in action
|
|
|
|
Click on the image to see the videos (use HD for better visualization)
|
|
|
|
[](https://youtu.be/ar8raFK0R1k)
|
|
[](https://youtu.be/xwIdj9mc2mU)
|
|
[](https://youtu.be/uq7TuLIijks)
|
|
[](https://youtu.be/v9Q4M5Al7AQ)
|
|
[](https://youtu.be/B_bYZnRTGJM)
|
|
[](https://youtu.be/JHqcq9crbDI)
|
|
|
|
[Here is the code](https://gist.github.com/byjg/e125e478a0562190176d69ea795fd3d4) applied in the test examples above.
|
|
|
|
----
|
|
[Open source ByJG](http://opensource.byjg.com)
|