Files
traefik-home-multiserver/config/dynamic/router.yml

109 lines
2.5 KiB
YAML

http:
middlewares:
dach-geo-block:
plugin:
geoblock:
allowLocalRequests: false
allowUnknownCountries: false
api: https://get.geojs.io/v1/ip/country/{ip}
apiTimeoutMs: 150
cacheSize: 15
countries:
- CH
- AT
- DE
forceMonthlyUpdate: true
logAllowedRequests: false
logApiRequests: true
logLocalRequests: false
silentStartUp: false
unknownCountryApiResponse: nil
routers:
jf-router:
rule: "Host(`jf.example.com`)"
middlewares:
- dach-geo-block
service: jf-service
entryPoints:
- web
- websecure
tls:
certResolver: letsencrypt
ha-router:
rule: "Host(`ha.example.com`)"
middlewares:
- dach-geo-block
service: ha-service
entryPoints:
- web
- websecure
tls:
certResolver: letsencrypt
mealie-router:
rule: "Host(`mealie.example.com`)"
middlewares:
- dach-geo-block
service: mealie-service
entryPoints:
- web
- websecure
tls:
certResolver: letsencrypt
nextcloud-router:
rule: "Host(`nextcloud.example.com`)"
middlewares:
- dach-geo-block
service: nextcloud-service
entryPoints:
- web
- websecure
tls:
certResolver: letsencrypt
services:
jf-service:
failover:
healthCheck: {}
service: jf-first-service
fallback: jf-second-service
jf-first-service:
loadBalancer:
healthCheck:
path: http://192.168.1.2:8096/health
interval: 10s
timeout: 3s
servers:
- url: "http://192.168.1.2:8096"
jf-second-service:
loadBalancer:
healthCheck:
path: http://192.168.1.3:8096/health
interval: 10s
timeout: 3s
servers:
- url: "http://192.168.1.3:8096"
ha-service:
loadBalancer:
sticky:
cookie:
name: homeassistant
secure: true
passHostHeader: true
servers:
- url: "http://192.168.1.4:8123"
mealie-service:
loadBalancer:
passHostHeader: true
servers:
- url: "http://192.168.1.5:9925"
nextcloud-service:
loadBalancer:
sticky:
cookie:
name: nextcloud
secure: true
passHostHeader: true
servers:
- url: "http://192.168.1.6:8100"