44 lines
1.0 KiB
YAML
44 lines
1.0 KiB
YAML
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: jellyfin-backend-ingress
|
|
namespace: media
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`media.kluster.moll.re`) && !Path(`/metrics`)
|
|
middlewares:
|
|
- name: jellyfin-websocket
|
|
- name: jellyfin-server-headers
|
|
kind: Rule
|
|
services:
|
|
- name: jellyfin-server
|
|
port: 8096
|
|
tls:
|
|
certResolver: default-tls
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: jellyfin-websocket
|
|
namespace: media
|
|
spec:
|
|
headers:
|
|
customRequestHeaders:
|
|
Connection: keep-alive, Upgrade
|
|
Upgrade: WebSocket
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: jellyfin-server-headers
|
|
namespace: media
|
|
spec:
|
|
headers:
|
|
accessControlAllowCredentials: true
|
|
accessControlAllowHeaders: [ "Authorization","Content-Type" ] # "Accept","Origin"
|
|
accessControlAllowMethods: [ "GET","HEAD","OPTIONS" ] # "POST","PUT"
|
|
accessControlAllowOriginList:
|
|
- "*"
|
|
accessControlMaxAge: 100 |