apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: audiobookshelf-ingressroute spec: entryPoints: - websecure routes: - match: Host(`audiobookshelf.kluster.moll.re`) kind: Rule middlewares: - name: audiobookshelf services: - name: audiobookshelf-web port: 80 tls: certResolver: default-tls --- apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: audiobookshelf spec: headers: accessControlAllowOriginList: - "*" accessControlAllowCredentials: true accessControlAllowHeaders: [ "Authorization","Content-Type" ] # "Accept","Origin" accessControlAllowMethods: [ "GET","HEAD","OPTIONS" ] # "POST","PUT" accessControlMaxAge: 100 customRequestHeaders: Connection: keep-alive, Upgrade Upgrade: "websocket"