traefik
This commit is contained in:
parent
402f5f7128
commit
9c51a6361a
|
|
@ -0,0 +1,147 @@
|
|||
# dynamic configuration
|
||||
http:
|
||||
middlewares:
|
||||
middlewares-authentik:
|
||||
forwardAuth:
|
||||
address: http://ubuntu:9000/outpost.goauthentik.io/auth/traefik
|
||||
trustForwardHeader: true
|
||||
authResponseHeaders:
|
||||
- X-authentik-username
|
||||
- X-authentik-groups
|
||||
- X-authentik-entitlements
|
||||
- X-authentik-email
|
||||
- X-authentik-name
|
||||
- X-authentik-uid
|
||||
- X-authentik-jwt
|
||||
- X-authentik-meta-jwks
|
||||
- X-authentik-meta-outpost
|
||||
- X-authentik-meta-provider
|
||||
- X-authentik-meta-app
|
||||
- X-authentik-meta-version
|
||||
routers:
|
||||
hass-router:
|
||||
entryPoints:
|
||||
- "hass"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: hass-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
paperless-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`pl.home.thoster.net`) && PathPrefix(`/`)"
|
||||
middlewares:
|
||||
- "middlewares-authentik"
|
||||
priority: 15
|
||||
service: paperless-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
hass-router-auth:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`hass.home.thoster.net`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
||||
priority: 15
|
||||
service: authentik
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
paperless-router-auth:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`pl.home.thoster.net`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
||||
priority: 15
|
||||
service: authentik
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
default-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/`)"
|
||||
middlewares:
|
||||
- middlewares-authentik
|
||||
service: wikimd-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
default-router-auth:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
||||
priority: 15
|
||||
service: authentik
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
photos-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`photo.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: photos-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
auth-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`auth.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: auth-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
hass2-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`hass.home.thoster.net`) && PathPrefix(`/`)"
|
||||
middlewares:
|
||||
- "middlewares-authentik"
|
||||
service: hass-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
nas-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`nas.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: nas-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
ai-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`ai.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: ai-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
services:
|
||||
hass-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:8123"
|
||||
photos-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:2283"
|
||||
nas-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://nas"
|
||||
ai-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:8082"
|
||||
wikimd-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:5200"
|
||||
auth-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:9000"
|
||||
paperless-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:8000"
|
||||
dummy-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://whoami"
|
||||
authentik:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:9000/outpost.goauthentik.io"
|
||||
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
# dynamic configuration
|
||||
http:
|
||||
routers:
|
||||
# Redirect all HTTP traffic to HTTPS
|
||||
# http-redirect-router:
|
||||
# entryPoints:
|
||||
# - "web"
|
||||
# rule: "HostAny() && PathPrefix('/')"
|
||||
# middlewares:
|
||||
# - "redirect_https"
|
||||
# service: dummy-service
|
||||
hass-router:
|
||||
entryPoints:
|
||||
- "hass"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: hass-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
default-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: php-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
photos-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`photo.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: photos-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
auth-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`auth.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: auth-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
hass2-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`hass.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: hass-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
nas-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`nas.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: nas-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
ai-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`ai.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: ai-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
services:
|
||||
hass-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:8123"
|
||||
photos-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:2283"
|
||||
nas-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://nas"
|
||||
ai-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://mini:8080"
|
||||
php-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://nginx-php-fastcgi"
|
||||
auth-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:9000"
|
||||
dummy-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://whoami"
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
# dynamic configuration
|
||||
http:
|
||||
middlewares:
|
||||
middlewares-authentik:
|
||||
forwardAuth:
|
||||
address: http://ubuntu:9000/outpost.goauthentik.io/auth/traefik
|
||||
trustForwardHeader: true
|
||||
authResponseHeaders:
|
||||
- X-authentik-username
|
||||
- X-authentik-groups
|
||||
- X-authentik-entitlements
|
||||
- X-authentik-email
|
||||
- X-authentik-name
|
||||
- X-authentik-uid
|
||||
- X-authentik-jwt
|
||||
- X-authentik-meta-jwks
|
||||
- X-authentik-meta-outpost
|
||||
- X-authentik-meta-provider
|
||||
- X-authentik-meta-app
|
||||
- X-authentik-meta-version
|
||||
routers:
|
||||
hass-router:
|
||||
entryPoints:
|
||||
- "hass"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: hass-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
paperless-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`pl.home.thoster.net`) && PathPrefix(`/`)"
|
||||
middlewares:
|
||||
- "middlewares-authentik"
|
||||
priority: 15
|
||||
service: paperless-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
paperless-router-auth:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`pl.home.thoster.net`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
||||
priority: 15
|
||||
service: authentik
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
default-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/`)"
|
||||
middlewares:
|
||||
- middlewares-authentik
|
||||
service: wikimd-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
default-router-auth:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`home.thoster.net`) && PathPrefix(`/outpost.goauthentik.io/`)"
|
||||
priority: 15
|
||||
service: authentik
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
photos-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`photo.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: photos-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
auth-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`auth.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: auth-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
hass2-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`hass.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: hass-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
nas-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`nas.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: nas-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
ai-router:
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
rule: "Host(`ai.home.thoster.net`) && PathPrefix(`/`)"
|
||||
service: ai-service
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
services:
|
||||
hass-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:8123"
|
||||
photos-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:2283"
|
||||
nas-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://nas"
|
||||
ai-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://mini:8080"
|
||||
wikimd-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:5200"
|
||||
auth-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:9000"
|
||||
paperless-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:8000"
|
||||
dummy-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://whoami"
|
||||
authentik:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://ubuntu:9000/outpost.goauthentik.io"
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
acme.json
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
providers:
|
||||
file:
|
||||
directory: /etc/traefik/conf.d/
|
||||
|
||||
entryPoints:
|
||||
web:
|
||||
address: ':80'
|
||||
http:
|
||||
redirections:
|
||||
entryPoint:
|
||||
to: websecure
|
||||
scheme: https
|
||||
|
||||
websecure:
|
||||
address: ':443'
|
||||
http:
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
paperless:
|
||||
address: ':5200'
|
||||
|
||||
traefik:
|
||||
address: ':8080'
|
||||
|
||||
hass:
|
||||
address: ':444'
|
||||
http:
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
redirections:
|
||||
entryPoint:
|
||||
scheme: https
|
||||
|
||||
certificatesResolvers:
|
||||
letsencrypt:
|
||||
acme:
|
||||
email: "stefan@ostermail.de"
|
||||
storage: /etc/traefik/ssl/acme.json
|
||||
tlsChallenge: {}
|
||||
|
||||
api:
|
||||
dashboard: true
|
||||
insecure: true
|
||||
|
||||
log:
|
||||
filePath: /var/log/traefik/traefik.log
|
||||
format: json
|
||||
level: INFO
|
||||
|
||||
accessLog:
|
||||
filePath: /var/log/traefik/traefik-access.log
|
||||
format: json
|
||||
filters:
|
||||
statusCodes:
|
||||
- "200"
|
||||
- "400-599"
|
||||
retryAttempts: true
|
||||
minDuration: "10ms"
|
||||
bufferingSize: 0
|
||||
fields:
|
||||
headers:
|
||||
defaultMode: drop
|
||||
names:
|
||||
User-Agent: keep
|
||||
Loading…
Reference in New Issue