You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.5 KiB
Cheetah
34 lines
1.5 KiB
Cheetah
1 week ago
|
{{ $CurrentContainer := where $ "ID" .Docker.CurrentContainerID | first }}
|
||
|
|
||
|
{{ range $name, $containers := groupByMulti $ "Env.HIDDENSERVICE_NAME" "," }}
|
||
|
{{ $firstServicePort := true }}
|
||
|
{{ range $container := $containers }}
|
||
|
{{ range $knownNetwork := $CurrentContainer.Networks }}
|
||
|
{{ range $containerNetwork := $container.Networks }}
|
||
|
{{ if eq $knownNetwork.Name $containerNetwork.Name }}
|
||
|
{{ $containerOrReverseProxyName := coalesce $container.Env.HIDDENSERVICE_REVERSEPROXY $container.Name }}
|
||
|
|
||
|
{{ range $reverseProxyContainer := where $ "Name" $containerOrReverseProxyName }}
|
||
|
{{ range $containerNetwork := where $reverseProxyContainer.Networks "Name" $knownNetwork.Name }}
|
||
|
{{ $port := coalesceempty (index $container.Env (print $name "_HIDDENSERVICE_PORT")) $container.Env.HIDDENSERVICE_PORT "80" }}
|
||
|
{{ $virtualPort := coalesceempty (index $container.Env (print $name "_HIDDENSERVICE_VIRTUAL_PORT")) $container.Env.HIDDENSERVICE_VIRTUAL_PORT $port }}
|
||
|
{{ if ne $containerNetwork.IP "" }}
|
||
|
{{ if $firstServicePort }}
|
||
|
# For the hidden service {{ $name }}
|
||
|
HiddenServiceDir /var/lib/tor/hidden_services/{{ $name }}
|
||
|
{{ $firstServicePort := false }}
|
||
|
{{ end }}
|
||
|
# Redirecting to {{ $containerOrReverseProxyName }}
|
||
|
HiddenServicePort {{ $virtualPort }} {{ $containerNetwork.IP }}:{{ $port }}
|
||
|
{{ end }}
|
||
|
{{ end }}
|
||
|
{{ end }}
|
||
|
{{ end }}
|
||
|
{{ end }}
|
||
|
{{ end }}
|
||
|
{{ end }}
|
||
|
{{ end }}
|
||
|
|
||
|
{{ if $.Env.ADDITIONAL_TORRC_CONFIG }}
|
||
|
{{ $.Env.ADDITIONAL_TORRC_CONFIG}}
|
||
|
{{ end }}
|