k3s-infra/apps/media/ingress.yaml
2023-12-11 13:29:33 +01:00

65 lines
1.4 KiB
YAML

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: jellyfin-vue-ingress
namespace: media
spec:
entryPoints:
- websecure
routes:
- match: Host(`media.kluster.moll.re`)
middlewares:
- name: jellyfin-websocket
kind: Rule
services:
- name: jellyfin-web
port: 80
tls:
certResolver: default-tls
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: jellyfin-backend-ingress
namespace: media
spec:
entryPoints:
- websecure
routes:
- match: Host(`media-backend.kluster.moll.re`)
middlewares:
- name: jellyfin-websocket
- name: jellyfin-server-headers
kind: Rule
services:
- name: jellyfin-server
port: 8096
tls:
certResolver: default-tls
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: jellyfin-websocket
namespace: media
spec:
headers:
customRequestHeaders:
X-Forwarded-Proto: "https"
Upgrade: "websocket"
---
apiVersion: traefik.containo.us/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