- Add sidebar_position to all documentation files (1-15) - Add "Configuration Reference" section to README.md with links to: - Container Labels - Environment Variables - Volumes - Other Configurations - Limitations - Ensure sidebar_position values match README.md link order exactly - Order follows logical flow: Platform installation → Tool installation → Special topics → Configuration reference - All documentation now properly configured for Docusaurus
108 lines
4.7 KiB
Markdown
108 lines
4.7 KiB
Markdown
# EasyHAProxy
|
|
|
|
[](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)
|
|
|
|

|
|
|
|
## 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:
|
|
|
|
[](docs/kubernetes.md)
|
|
[](docs/swarm.md)
|
|
[](docs/docker.md)
|
|
[](docs/static.md)
|
|
|
|
Or you can install using tools:
|
|
|
|
[](docs/helm.md)
|
|
[](docs/microk8s.md)
|
|
[](docs/dokku.md)
|
|
[](docs/digitalocean.md)
|
|
|
|
## Special Topics
|
|
|
|
If you already set up the EasyHAProxy, is time to go deeper:
|
|
|
|
- [Custom SSL](docs/ssl.md)
|
|
- [Automatic Certificate Issuing](docs/acme.md) (e.g. Letsencrypt)
|
|
|
|
## Configuration Reference
|
|
|
|
Detailed configuration guides for advanced setups:
|
|
|
|
- [Container Labels](docs/container-labels.md) - Configure Docker/Swarm containers with labels
|
|
- [Environment Variables](docs/environment-variable.md) - Configure EasyHAProxy behavior
|
|
- [Volumes](docs/volumes.md) - Map volumes for certificates, config, and custom files
|
|
- [Other Configurations](docs/other.md) - Additional configurations (ports, custom errors, etc.)
|
|
- [Limitations](docs/limitations.md) - Important limitations and considerations
|
|
|
|
## 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 examples above.
|
|
|
|
|
|
----
|
|
[Open source ByJG](http://opensource.byjg.com)
|