diff --git a/nginx.tmpl b/nginx.tmpl index 06d7b58..a6f8ce7 100644 --- a/nginx.tmpl +++ b/nginx.tmpl @@ -77,6 +77,7 @@ */}} {{- define "container_ip" }} {{- $ip := "" }} + {{- $ipv6 := "" }} # networks: {{- range sortObjectsByKeysAsc $.container.Networks "Name" }} {{- /* @@ -124,13 +125,20 @@ {{- if and . .IP }} {{- $ip = .IP }} {{- else }} - # /!\ No IP for this network! + # /!\ No IPv4 for this network! + {{- end }} + {{- if and . .GlobalIPv6Address }} + {{- $ipv6 = .GlobalIPv6Address }} + {{- else }} + # /!\ No IPv6 for this network! {{- end }} {{- else }} # (none) {{- end }} - # IP address: {{ if $ip }}{{ $ip }}{{ else }}(none usable){{ end }} + # IPv4 address: {{ if $ip }}{{ $ip }}{{ else }}(none usable){{ end }} + # IPv6 address: {{ if $ipv6 }}{{ $ipv6 }}{{ else }}(none usable){{ end }} {{- $_ := set $ "ip" $ip }} + {{- $_ := set $ "ipv6" $ipv6 }} {{- end }} {{- /* @@ -340,12 +348,18 @@ upstream {{ $vpath.upstream }} { {{- $args := dict "globals" $.globals "container" $container }} {{- template "container_ip" $args }} {{- $ip := $args.ip }} + {{- $ipv6 := $args.ipv6 }} {{- $args = dict "container" $container "path" $path "port" $port }} {{- template "container_port" $args }} - {{- if $ip }} + {{- if or $ip $ipv6 }} {{- $servers = add1 $servers }} + {{- end }} + {{- if $ip }} server {{ $ip }}:{{ $args.port }}; {{- end }} + {{- if $ipv6 }} + server [{{ $ipv6 }}]:{{ $args.port }}; + {{- end }} {{- end }} {{- end }} {{- /* nginx-proxy/nginx-proxy#1105 */}}