Files
traefik/dynamic/services.yaml

354 lines
7.1 KiB
YAML

http:
middlewares:
basic-auth:
basicAuth:
usersFile: /auth/htpasswd
redirect-to-https:
redirectScheme:
scheme: https
permanent: true
websocket-headers:
headers:
customRequestHeaders:
Connection: "Upgrade"
Upgrade: "websocket"
dcr-cors:
headers:
accessControlAllowOriginList:
- "http://registry.aetoskia.com"
accessControlAllowMethods:
- GET
- POST
- PUT
- DELETE
- OPTIONS
accessControlAllowHeaders:
- Authorization
- Content-Type
accessControlMaxAge: 1728000
routers:
# ----------------------
# HTTP routers for redirect
# ----------------------
www-http:
rule: "Host(`www.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
# Dashboard
traefik-dashboard-http:
rule: "Host(`traefik.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
plex-http:
rule: "Host(`plex.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
sonarr-http:
rule: "Host(`sonarr.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
radarr-http:
rule: "Host(`radarr.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
prowlarr-http:
rule: "Host(`prowlarr.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
jellyseerr-http:
rule: "Host(`jellyseerr.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
ombi-http:
rule: "Host(`ombi.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
qbit-http:
rule: "Host(`qbit.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
gitea-http:
rule: "Host(`gitea.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
drone-http:
rule: "Host(`drone.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
dcr-http:
rule: "Host(`dcr.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
registry-http:
rule: "Host(`registry.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
portainer-http:
rule: "Host(`portainer.aetoskia.com`)"
entryPoints:
- web
middlewares:
- redirect-to-https
service: noop@internal
# ----------------------
# HTTPS routers
# ----------------------
# Landing Page
www-https:
rule: "Host(`www.aetoskia.com`)"
entryPoints:
- websecure
service: www-svc
tls:
certResolver: aetoskia
middlewares:
# - basic-auth
- websocket-headers
# Dashboard
traefik-dashboard:
rule: "Host(`traefik.aetoskia.com`)"
entryPoints:
- websecure
service: api@internal
tls:
certResolver: aetoskia
middlewares:
- basic-auth
# Media
plex:
rule: "Host(`plex.aetoskia.com`)"
entryPoints:
- websecure
service: plex-svc
tls:
certResolver: aetoskia
sonarr:
rule: "Host(`sonarr.aetoskia.com`)"
entryPoints:
- websecure
service: sonarr-svc
tls:
certResolver: aetoskia
radarr:
rule: "Host(`radarr.aetoskia.com`)"
entryPoints:
- websecure
service: radarr-svc
tls:
certResolver: aetoskia
prowlarr:
rule: "Host(`prowlarr.aetoskia.com`)"
entryPoints:
- websecure
service: prowlarr-svc
tls:
certResolver: aetoskia
jellyseerr:
rule: "Host(`jellyseerr.aetoskia.com`)"
entryPoints:
- websecure
service: jellyseerr-svc
tls:
certResolver: aetoskia
ombi:
rule: "Host(`ombi.aetoskia.com`)"
entryPoints:
- websecure
service: ombi-svc
tls:
certResolver: aetoskia
qbit:
rule: "Host(`qbit.aetoskia.com`)"
entryPoints:
- websecure
service: qbit-svc
tls:
certResolver: aetoskia
middlewares:
- websocket-headers
# Codebase
gitea:
rule: "Host(`gitea.aetoskia.com`)"
entryPoints:
- websecure
service: gitea-svc
tls:
certResolver: aetoskia
certFile: "/letsencrypt/fullchain.pem"
keyFile: "/letsencrypt/privkey.pem"
middlewares:
- websocket-headers
drone:
rule: "Host(`drone.aetoskia.com`)"
entryPoints:
- websecure
service: drone-svc
tls:
certResolver: aetoskia
middlewares:
- websocket-headers
dcr:
rule: "Host(`dcr.aetoskia.com`)"
entryPoints:
- websecure
service: dcr-svc
tls:
certResolver: aetoskia
middlewares:
- dcr-cors
registry:
rule: "Host(`registry.aetoskia.com`)"
entryPoints:
- websecure
service: registry-svc
tls:
certResolver: aetoskia
# Monitoring
portainer:
rule: "Host(`portainer.aetoskia.com`)"
entryPoints:
- websecure
service: portainer-svc
tls:
certResolver: aetoskia
services:
# Landing Page
www-svc:
loadBalancer:
servers:
- url: "http://private-pi:3001"
# Media
plex-svc:
loadBalancer:
servers:
- url: "http://server-pi:32400"
sonarr-svc:
loadBalancer:
servers:
- url: "http://server-pi:8989"
radarr-svc:
loadBalancer:
servers:
- url: "http://server-pi:7878"
prowlarr-svc:
loadBalancer:
servers:
- url: "http://server-pi:9696"
jellyseerr-svc:
loadBalancer:
servers:
- url: "http://server-pi:5055"
ombi-svc:
loadBalancer:
servers:
- url: "http://server-pi:3579"
qbit-svc:
loadBalancer:
servers:
- url: "http://server-pi:8080"
# Codebase
gitea-svc:
loadBalancer:
servers:
- url: "http://private-pi:6002"
drone-svc:
loadBalancer:
servers:
- url: "http://private-pi:6003"
dcr-svc:
loadBalancer:
servers:
- url: "http://private-pi:6005"
registry-svc:
loadBalancer:
servers:
- url: "http://private-pi:6001"
# Monitoring
portainer-svc:
loadBalancer:
servers:
- url: "http://private-pi:7002"