Add(module): add amap module Add(module): add common lib and services Add(module): add base structure for keycloak Add(module): add base structure for rocket Add(module): add n8n and windmill modules Add(docker): add install docker script in common module Add(template): add root for aldon.fr and mathieu.wiki in traefik.service template
173 lines
4.1 KiB
Smarty
173 lines
4.1 KiB
Smarty
http:
|
|
routers:
|
|
http-catchall:
|
|
rule: "HostRegexp(`{host:.+}`)"
|
|
entryPoints:
|
|
- web
|
|
middlewares:
|
|
- redirect-to-https
|
|
service: noop
|
|
|
|
%{~ for _, service in services }
|
|
%{~ for _, subservice in service }
|
|
${subservice.name}:
|
|
rule: "Host(`${subservice.host}${subservice.host != "" ? "." : ""}${subservice.domain}`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: ${subservice.name}
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-errors
|
|
%{~ endfor }
|
|
%{~ endfor }
|
|
aldon-http:
|
|
rule: "Host(`aldon.fr`)"
|
|
entryPoints:
|
|
- web
|
|
middlewares:
|
|
- redirect-to-aldon
|
|
service: noop
|
|
aldon:
|
|
rule: "Host(`aldon.fr`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: noop
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-to-aldon
|
|
- redirect-errors
|
|
nextcloud:
|
|
rule: "Host(`nextcloud.aldon.fr`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: nextcloud
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-errors
|
|
rocket:
|
|
rule: "Host(`discussion.fefan.fr`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: rocket
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-errors
|
|
mathieu:
|
|
rule: "Host(`mathieu.wiki`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: noop
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-to-mathieu
|
|
- redirect-errors
|
|
mathieu-http:
|
|
rule: "Host(`mathieu.wiki`)"
|
|
entryPoints:
|
|
- web
|
|
middlewares:
|
|
- redirect-to-mathieu
|
|
service: noop
|
|
wiki:
|
|
rule: "Host(`benoit.mathieu.wiki`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: wiki
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-errors
|
|
vaultwarden:
|
|
rule: "Host(`vaultwarden.aldon.fr`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: vaultwarden
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-errors
|
|
keycloak:
|
|
rule: "Host(`keycloak.aldon.fr`)"
|
|
entryPoints:
|
|
- websecure
|
|
service: keycloak
|
|
tls:
|
|
certResolver: letsencrypt
|
|
middlewares:
|
|
- redirect-errors
|
|
services:
|
|
%{~ for _, service in services }
|
|
%{~ for _, subservice in service }
|
|
${subservice.name}:
|
|
loadBalancer:
|
|
passHostHeader: true
|
|
servers:
|
|
- url: "http://${subservice.ip}:${subservice.port}"
|
|
%{~ endfor }
|
|
%{~ endfor }
|
|
noop:
|
|
loadBalancer:
|
|
servers:
|
|
- url: "http://127.0.0.1"
|
|
nextcloud:
|
|
loadBalancer:
|
|
passHostHeader: true
|
|
servers:
|
|
- url: "http://192.168.1.30:11000"
|
|
rocket:
|
|
loadBalancer:
|
|
passHostHeader: true
|
|
servers:
|
|
- url: "http://192.168.1.15:3000"
|
|
wiki:
|
|
loadBalancer:
|
|
passHostHeader: true
|
|
servers:
|
|
- url: "http://192.168.1.38:8080"
|
|
|
|
vaultwarden:
|
|
loadBalancer:
|
|
passHostHeader: true
|
|
servers:
|
|
- url: "http://192.168.1.36:80"
|
|
|
|
keycloak:
|
|
loadBalancer:
|
|
passHostHeader: true
|
|
servers:
|
|
- url: "http://192.168.1.34:8080"
|
|
|
|
error-handler-service:
|
|
loadBalancer:
|
|
passHostHeader: true
|
|
servers:
|
|
- url: "http://127.0.0.1:8090"
|
|
middlewares:
|
|
redirect-to-mathieu:
|
|
redirectRegex:
|
|
regex: "^https?://mathieu.wiki/(.*)"
|
|
replacement: "https://benoit.mathieu.wiki/$1"
|
|
permanent: true
|
|
redirect-to-aldon:
|
|
redirectRegex:
|
|
regex: "^https?://aldon.fr/(.*)"
|
|
replacement: "https://julien.aldon.fr/$1"
|
|
permanent: true
|
|
redirect-to-https:
|
|
redirectScheme:
|
|
scheme: https
|
|
redirect-errors:
|
|
errors:
|
|
status:
|
|
- "500"
|
|
- "501"
|
|
- "503"
|
|
- "502"
|
|
service: error-handler-service
|
|
query: "/502.html"
|