File tree Expand file tree Collapse file tree 3 files changed +37
-2
lines changed Expand file tree Collapse file tree 3 files changed +37
-2
lines changed Original file line number Diff line number Diff line change @@ -30,4 +30,7 @@ ENV ALLOW_RESTARTS=0 \
30
30
TASKS=0 \
31
31
VERSION=1 \
32
32
VOLUMES=0
33
- COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
33
+ COPY docker-entrypoint.sh /
34
+ COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg.template
35
+
36
+ ENTRYPOINT ["/docker-entrypoint.sh" ]
Original file line number Diff line number Diff line change
1
+ #! /bin/sh
2
+ set -e
3
+
4
+ # Normalize the input for ENABLE_IPV6 to lowercase
5
+ ENABLE_IPV6_LOWER=$( echo " $ENABLE_IPV6 " | tr ' [:upper:]' ' [:lower:]' )
6
+
7
+ # Check for different representations of 'true' and set BIND_CONFIG
8
+ case " $ENABLE_IPV6_LOWER " in
9
+ 1|true|yes)
10
+ BIND_CONFIG=" [::]:2375 v4v6"
11
+ ;;
12
+ * )
13
+ BIND_CONFIG=" :2375"
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
+ # Command-line argument handling
21
+ if [ " ${1# -} " != " $1 " ]; then
22
+ set -- haproxy " $@ "
23
+ fi
24
+
25
+ if [ " $# " -eq 0 ] || [ " $1 " = ' haproxy' ]; then
26
+ if [ " $1 " = ' haproxy' ]; then
27
+ shift
28
+ fi
29
+ set -- haproxy -W -db -f /usr/local/etc/haproxy/haproxy.cfg " $@ "
30
+ fi
31
+
32
+ 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