Verified against source code and enhanced with Docusaurus markdown features: Documentation Accuracy Fixes: - Fixed acme.md: Added "letsencrypt" as valid AUTOCONFIG value (was incorrectly shown as "-") - Added reference to ACME docs from environment-variable.md - Verified all features against actual implementation in /src Docusaurus Enhancements Added: - Admonitions (:::note, :::tip, :::warning, :::danger, :::info) for important callouts - Code block titles for all bash/yaml examples (e.g., title="Install EasyHAProxy") - Better structured warnings and notes for limitations - Improved formatting and readability throughout Files Enhanced: - kubernetes.md: Added info boxes, warnings, code titles - docker.md: Added limitation warnings, code titles - swarm.md: Added advantage tips, limitation warnings - acme.md: Fixed Let's Encrypt autoconfig, enhanced requirements with admonitions - ssl.md: Added code block titles for all examples - static.md: Added live reload tip, SSL certificate note - container-labels.md: Added definition explanation, code titles - limitations.md: Restructured with clear warnings and explanations - helm.md: Added warnings, code titles - microk8s.md: Added ingress controller warning, code titles - volumes.md: Added info box about volume purposes - other.md: Added code block titles - environment-variable.md: Added ACME reference note All changes verified against actual Python source code implementation. |
||
|---|---|---|
| .github | ||
| .run | ||
| .vscode | ||
| build | ||
| deploy | ||
| docs | ||
| examples | ||
| helm/easyhaproxy | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| .gitpod.yml | ||
| build-multiarch.sh | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| setup.py | ||
EasyHAProxy
Service discovery for HAProxy
EasyHAProxy dynamically creates the haproxy.cfg based on the labels defined in docker containers.
EasyHAProxy can detect and configure HAProxy automatically on the following platforms:
- Docker
- Docker Swarm
- Kubernetes
Who is using?
EasyHAProxy is part of some projects:
- Dokku
- MicroK8s
- DigitalOcean Marketplace
See detailed instructions on how to install below.
EasyHAProxy Mission
Easy to set up and low configuration to numerous features.
Features
EasyHAProxy will discover the services based on the Docker Tags of the containers running on a Docker host or Docker Swarm cluster and dynamically set up the haproxy.cfg. Below, EasyHAProxy main features:
- Support Automatic Certificate Management Environment (ACME) protocol compatible with Let's encrypt and others CA.
- Set your custom SSL certificates
- Balance traffic between multiple replicas
- Set SSL with three different levels of validations and according to the most recent definitions.
- Set up HAProxy to listen to TCP.
- Add redirects.
- Enable/disable Stats on port 1936 with a custom password.
- Enable/disable custom errors.
Also, it is possible to set up HAProxy from a simple Yaml file instead of creating haproxy.cfg file.
How Does It Work?
You don't need to change your current infrastructure and don't need to learn the HAProxy configuration.
The steps are:
- Run the EasyHAProxy container;
- Add some labels to the containers you want to be parsed by EasyHAProxy (see detailed instructions below);
- EasyHAProxy will automatically detect the containers, set up, and reload the HAProxy configurations for you without downtime.
Detailed Instructions
For detailed instructions on how to use EasyHAProxy, follow the instructions for the platform you want to use:
Or you can install using tools:
Special Topics
If you already set up the EasyHAProxy, is time to go deeper:
- Custom SSL
- Automatic Certificate Issuing (e.g. Letsencrypt)
Configuration Reference
Detailed configuration guides for advanced setups:
- Container Labels - Configure Docker/Swarm containers with labels
- Environment Variables - Configure EasyHAProxy behavior
- Volumes - Map volumes for certificates, config, and custom files
- Other Configurations - Additional configurations (ports, custom errors, etc.)
- Limitations - Important limitations and considerations
See EasyHAProxy in action
Click on the image to see the videos (use HD for better visualization)
Here is the code applied in the examples above.














