Sign inSign up

million12/haproxy

By million12

Updated about 3 years ago

Fully customisable HAProxy load balancer built on Debian12 (HTTP2 with ALNP) see tags.

Image
20

500K+

million12/haproxy repository overview

HAProxy Load Balancer

Build & Test HAProxy
GitHub Open Issues
Stars Fork
Release

Docker build

Felling like supporting me in my projects use donate button. Thank You!
PayPal

HAProxy docker container million12/haproxy with ALPN and HTTP/2 support.

Tags

Please specify tag when deploying for specific version. Example:

million12/haproxy:latest
million12/haproxy:2.1.5

Features
  • Support for HTTP/2 with ALPN
  • CentOS 7 based
  • Ability to provide any arguments to haproxy process Any extra parameters provided to docker run will be passed directly to haproxy command. For example, if you run docker run [run options] million12/haproxy -n 1000 you pass -n 1000 to haproxy daemon.
  • Pretty lightweight, only ~100M (with OpenSSL and HAProxy compiled from source).
  • Default haproxy.cfg provided for demonstration purposes. You can easily mount your own or point to different location using HAPROXY_CONFIG env.
  • Auto restart when config changes This container comes with inotify to monitor changes in HAProxy config and reload HAProxy daemon. The reload is done in a way that no connection is lost.
ENV variables
VariableDefault SettingsNotes
HAPROXY_CONFIG/etc/haproxy/haproxy.cfgIf you mount your config to different location, simply edit it.
HAPROXY_PORTS80,443Comma separated ports
HAPROXY_ADDITIONAL_CONFIGEmptyList of file that inotify should monitor for changes divided by space. Example below. Space separated
HAPROXY_PRE_RESTART_CMDEmptyCommand to execute before restarting haproxy
HAPROXY_POST_RESTART_CMDEmptyCommand to execute after successfully restarting haproxy

Usage

Basic
docker run -ti \
  -p 80:80 \
  -p 443:443 \
  million12/haproxy
Mount custom config , override some options
docker run -d \
  -p 80:80 \
  -v /my-haproxy.cfg:/etc/haproxy/haproxy.cfg \
  million12/haproxy \
  -n 10000

Note: in this case config is mounted to its default location, so you don't need to modify HAPROXY_CONFIG variable.

Monitor additional config files
docker run -d \
  -p 80:80 \
  -e HAPROXY_ADDITIONAL_CONFIG='/etc/haproxy/custom1 /etc/haproxy/custom2' \
  million12/haproxy
Check version and build options

docker run -ti million12/haproxy -vv

Stats

The default URL for stats is http://CONTAINER_IP/admin?stats with username:password ser to admin:admin.


Authors

Author: Marcin ryzy Ryzycki ([email protected])
Author: Przemyslaw Ozgo ([email protected])

Tag summary

Content type

Image

Digest

sha256:dc80de300

Size

240.3 MB

Last updated

about 3 years ago

docker pull million12/haproxy