Files
homelab-config/traefik-config/config/dynamic.yml
T

113 lines
2.9 KiB
YAML
Executable File

http:
routers:
homeassistant:
rule: "Host(`ha.peis.fr`)"
entryPoints:
- "websecure"
tls:
certResolver: "letsencrypt"
service: homeassistant
middlewares:
- "security-headers"
traefik-public:
rule: "Host(`traefik.peis.fr`)"
service: api@internal
entryPoints:
- "websecure"
tls:
certResolver: "letsencrypt"
middlewares:
- "auth"
status-monitor:
rule: "Host(`status.peis.fr`)"
entryPoints:
- "websecure"
tls:
certResolver: "letsencrypt"
service: status-monitor
# middlewares:
# - "authentik-forwardauth" # TODO: reactiver apres validation UI Authentik
git-server:
rule: "Host(`git.peis.fr`)"
entryPoints:
- "websecure"
tls:
certResolver: "letsencrypt"
service: git-server
authentik:
rule: "Host(`auth.peis.fr`)"
entryPoints:
- "websecure"
tls:
certResolver: "letsencrypt"
service: authentik
middlewares:
- "security-headers"
authentik-outpost:
rule: "Host(`auth.peis.fr`) && PathPrefix(`/outpost.goauthentik.io/`)"
entryPoints:
- "websecure"
tls:
certResolver: "letsencrypt"
service: authentik
priority: 150
services:
homeassistant:
loadBalancer:
servers:
- url: "http://192.168.0.43:8123"
status-monitor:
loadBalancer:
servers:
- url: "http://192.168.0.201:80"
git-server:
loadBalancer:
servers:
- url: "http://192.168.0.202:3000"
authentik:
loadBalancer:
servers:
- url: "http://192.168.0.203:9000"
middlewares:
auth:
basicAuth:
users:
- "admin:$apr1$xnK9sM6u$q81sJuvBe5R3rfefqDLuk1"
authentik-forwardauth:
forwardAuth:
address: "http://192.168.0.203:9000/outpost.goauthentik.io/auth/traefik"
trustForwardHeader: true
authResponseHeaders:
- X-Forwarded-User
- X-Forwarded-Groups
- X-Forwarded-Email
- X-Forwarded-Preferred-Username
- X-Forwarded-User-Id
security-headers:
headers:
frameDeny: true
sslRedirect: true
browserXssFilter: true
contentTypeNosniff: true
forceSTSHeader: true
stsIncludeSubdomains: true
stsPreload: true
stsSeconds: 31536000
customResponseHeaders:
X-Robots-Tag: "none,noarchive,nosnippet,notranslate,noimageindex"
X-Content-Type-Options: "nosniff"
X-Frame-Options: "DENY"
X-XSS-Protection: "1; mode=block"
Referrer-Policy: "strict-origin-when-cross-origin"
Permissions-Policy: "camera=(), microphone=(), geolocation()"