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 |