Skip to main content

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

Project description

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.0.1.tar.gz (1.9 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.0.1-py3-none-any.whl (53.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for easyhaproxy-6.0.1.tar.gz
Algorithm Hash digest
SHA256 5fb95dae2c9417ed7fd008ce7d2615ebf1055cbf7bf8855dd1683de70537cefc
MD5 f00c1d2a2aea330a4ef7ba4cb6d03a9d
BLAKE2b-256 d2e99e088e6b5c30c3a9a30d716a879fba0015b05d4db17ea1cbbbf3ce332617

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyhaproxy-6.0.1.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.0.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for easyhaproxy-6.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f43ccbd9fdcc6f06ee15b6f797f804c2b3c3ec84d2da43edd55797467901098c
MD5 5e6d26901f1caa2e2c2316c3c04a1091
BLAKE2b-256 ca10961d79400001f955d07ed66e68a88c10c3f02ccdb12f6d1907b9869e7295

See more details on using hashes here.

Provenance

The following attestation bundles were made for easyhaproxy-6.0.1-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