Skip to main content

HAProxy label based routing with service discovery for Docker, Swarm, and Kubernetes

Project description


sidebar_key: docker-easy-haproxy tags: [docker, devops]

EasyHAProxy

Sponsor Opensource ByJG Build Status GitHub source GitHub license GitHub release Helm Version Artifact Hub

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
  • Real-time monitoring dashboard — built-in, zero-dependency web UI with live traffic charts, frontend/backend health, and per-server stats (enabled with a single env var)
  • Balance algorithms — roundrobin, leastconn, source, uri, and more

Supported platforms

Kubernetes Docker Swarm Docker Static

Install using tools:

Helm MicroK8s Dokku DigitalOcean

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:

Monitoring Dashboard

HAProxy Monitor

A real-time dashboard is available at http://<host>:11936/ whenever HAPROXY_PASSWORD is set — no extra containers, no Prometheus, no Grafana. See the dashboard guide.

See EasyHAProxy in action

Click on the image to see the videos (use HD for better visualization)

Docker In Action Docker and Letsencrypt K8s In Action K8s and Letsencrypt Static Configuration TCP Mode

Here is the code applied in the test examples above.


Open source ByJG

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easyhaproxy-6.1.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easyhaproxy-6.1.0-py3-none-any.whl (54.1 kB view details)

Uploaded Python 3

File details

Details for the file easyhaproxy-6.1.0.tar.gz.

File metadata

  • Download URL: easyhaproxy-6.1.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for easyhaproxy-6.1.0.tar.gz
Algorithm Hash digest
SHA256 aaac1a129ab402411d2222442a4f7ef91b73747a76b7e9e8743e6382f09be148
MD5 2875f38d80e1da3785bbff1fa031b135
BLAKE2b-256 69f5244c5ec217a6c576b67ebe24934cdab32c40bd50352b755f711ba5a350f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyhaproxy-6.1.0.tar.gz:

Publisher: build.yml on byjg/docker-easy-haproxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file easyhaproxy-6.1.0-py3-none-any.whl.

File metadata

  • Download URL: easyhaproxy-6.1.0-py3-none-any.whl
  • Upload date:
  • Size: 54.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for easyhaproxy-6.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9b3906faed6c6bb79eaa55b218bcfe0e20bfce8d9504b2840ab8deaf8f76155
MD5 e869975b4f17f70127ffca72182214e8
BLAKE2b-256 c3de88b5caf03e9307b7b2a55ccb33d8810040362ac083fb76fab36cf532e8a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyhaproxy-6.1.0-py3-none-any.whl:

Publisher: build.yml on byjg/docker-easy-haproxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page