File tree 3 files changed +37
-2
lines changed
3 files changed +37
-2
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ ENV ALLOW_RESTARTS=0 \
9
9
COMMIT=0 \
10
10
CONFIGS=0 \
11
11
CONTAINERS=0 \
12
+ DISABLE_IPV6=0 \
12
13
DISTRIBUTION=0 \
13
14
EVENTS=1 \
14
15
EXEC=0 \
@@ -30,4 +31,5 @@ ENV ALLOW_RESTARTS=0 \
30
31
TASKS=0 \
31
32
VERSION=1 \
32
33
VOLUMES=0
33
- COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
34
+ COPY docker-entrypoint.sh /usr/local/bin/
35
+ COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg.template
Original file line number Diff line number Diff line change
1
+ #! /bin/sh
2
+ set -e
3
+
4
+ # Normalize the input for DISABLE_IPV6 to lowercase
5
+ DISABLE_IPV6_LOWER=$( echo " $DISABLE_IPV6 " | tr ' [:upper:]' ' [:lower:]' )
6
+
7
+ # Check for different representations of 'true' and set BIND_CONFIG
8
+ case " $DISABLE_IPV6_LOWER " in
9
+ 1|true|yes)
10
+ BIND_CONFIG=" :2375"
11
+ ;;
12
+ * )
13
+ BIND_CONFIG=" [::]:2375 v4v6"
14
+ ;;
15
+ esac
16
+
17
+ # Process the HAProxy configuration template using sed
18
+ sed " s/\$ {BIND_CONFIG}/$BIND_CONFIG /g" /usr/local/etc/haproxy/haproxy.cfg.template > /usr/local/etc/haproxy/haproxy.cfg
19
+
20
+ # first arg is `-f` or `--some-option`
21
+ if [ " ${1# -} " != " $1 " ]; then
22
+ set -- haproxy " $@ "
23
+ fi
24
+
25
+ if [ " $1 " = ' haproxy' ]; then
26
+ shift # "haproxy"
27
+ # if the user wants "haproxy", let's add a couple useful flags
28
+ # -W -- "master-worker mode" (similar to the old "haproxy-systemd-wrapper"; allows for reload via "SIGUSR2")
29
+ # -db -- disables background mode
30
+ set -- haproxy -W -db " $@ "
31
+ fi
32
+
33
+ exec " $@ "
Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ backend docker-events
44
44
timeout server 0
45
45
46
46
frontend dockerfrontend
47
- bind :: :2375 v4v6
47
+ bind ${BIND_CONFIG}
48
48
http-request deny unless METH_GET || { env(POST) -m bool }
49
49
http-request allow if { path,url_dec -m reg -i ^(/v[\ d\ .]+)?/containers/[a-zA-Z0-9_.-]+/((stop)|(restart)|(kill)) } { env(ALLOW_RESTARTS) -m bool }
50
50
http-request allow if { path,url_dec -m reg -i ^(/v[\ d\ .]+)?/containers/[a-zA-Z0-9_.-]+/start } { env(ALLOW_START) -m bool }
You can’t perform that action at this time.
0 commit comments