Skip to content

Instantly share code, notes, and snippets.

@abiosoft
Last active June 9, 2020 17:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abiosoft/844bb5eb5d0dcd4071509d0b1d6be957 to your computer and use it in GitHub Desktop.
Save abiosoft/844bb5eb5d0dcd4071509d0b1d6be957 to your computer and use it in GitHub Desktop.
{
"logging": {
"logs": {
"default": {
"level": "DEBUG"
}
}
},
"admin": {
"listen": ":2020",
"origins": [
"192.168.10.2:2020"
],
"enforce_origin": false
},
"apps": {
"http": {
"servers": {
"srv": {
"listen": [
":443",
":80"
],
"routes": [
{
"match": [
{
"host": [
"jackett.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.3:9117"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"dash.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.23:8080"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"radarr.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.13:7878"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"hass.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.20:8123"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"bazarr.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.17:6767"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
[
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
},
"path": [
"/notifications/hub/negotiate"
]
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.8:8080"
}
]
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
},
"path": [
"/notifications/hub"
]
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.8:3012"
}
]
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
},
"path": [
"*"
]
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.8:80"
}
]
}
]
}
],
{
"match": [
{
"host": [
"heimdall.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.21:80"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"nextcloud.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.7:80"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"sonarr.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.15:8989"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"emby.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.12:8096"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"portainer.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.4:9000"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"kibana.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.27:5601"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"elasticsearch.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.18:9200"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"wg-gen-web.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.5:8080"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"deluge.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.25:8112"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"gotify.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.9:80"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"appdaemon.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.26:5050"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"jellyfin.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.11:8096"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"registry.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.16:5000"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
}
],
"automatic_https": {
"skip": [
"dash.example.eu"
]
}
}
}
},
"tls": {
"automation": {
"policies": [
{
"issuer": {
"email": "xx@example.eu",
"module": "acme"
}
}
]
}
}
}
}
{
"logging": {
"logs": {
"default": {
"level": "DEBUG"
}
}
},
"admin": {
"listen": ":2020",
"origins": [
"192.168.10.2:2020"
],
"enforce_origin": false
},
"apps": {
"http": {
"servers": {
"srv": {
"listen": [
":443",
":80"
],
"routes": [
{
"match": [
{
"host": [
"jackett.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.3:9117"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"dash.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.23:8080"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"radarr.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.13:7878"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"hass.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.20:8123"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"bazarr.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.17:6767"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
},
"path": [
"/notifications/hub/negotiate"
]
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.8:8080"
}
]
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
},
"path": [
"/notifications/hub"
]
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.8:3012"
}
]
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
},
"path": [
"*"
]
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.8:80"
}
]
}
]
},
{
"match": [
{
"host": [
"heimdall.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.21:80"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"nextcloud.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.7:80"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"sonarr.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.15:8989"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"emby.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.12:8096"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"portainer.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.4:9000"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"kibana.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.27:5601"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"elasticsearch.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.18:9200"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"wg-gen-web.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.5:8080"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"deluge.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.25:8112"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"gotify.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.9:80"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"appdaemon.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.26:5050"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"jellyfin.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.11:8096"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
},
{
"match": [
{
"host": [
"registry.example.eu"
]
}
],
"handle": [
{
"handler": "subroute",
"routes": [
{
"match": [
{
"remote_ip": {
"ranges": [
"192.168.10.0/24",
"192.168.20.0/24",
"172.18.0.0/16"
]
}
}
],
"handle": [
{
"handler": "reverse_proxy",
"upstreams": [
{
"dial": "172.18.0.16:5000"
}
],
"headers": {
"request": {
"set": {
"X-Real-Ip": [
"{http.request.remote.host}"
]
}
}
}
}
]
},
{
"match": [
{
"remote_ip": {
"ranges": [
"0.0.0.0/0"
]
}
}
],
"handle": [
{
"handler": "static_response",
"body": " "
}
]
}
]
}
],
"terminal": true
}
],
"automatic_https": {
"skip": [
"dash.example.eu"
]
}
}
}
},
"tls": {
"automation": {
"policies": [
{
"issuer": {
"email": "xx@example.eu",
"module": "acme"
}
}
]
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment