diff --git a/apps/k8s01/jellyfin/kustomization.yaml b/apps/k8s01/jellyfin/kustomization.yaml
index d43f3676db49b8715683c363118b17674a82f959..86e9a63d137c92921285973513b29cc00070d4df 100644
--- a/apps/k8s01/jellyfin/kustomization.yaml
+++ b/apps/k8s01/jellyfin/kustomization.yaml
@@ -9,6 +9,7 @@ resources:
   - service.yaml
   - certificate.yaml
   - ingress.yaml
+  - slo.yaml
   - ../../../shared/networkpolicies/allow-from-ingress.yaml
   - ../../../shared/resourcequotas/default.yaml
 patchesStrategicMerge:
diff --git a/apps/k8s01/jellyfin/slo.yaml b/apps/k8s01/jellyfin/slo.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0d3529636247ba219a1d7ee4416031e2bce5dc9b
--- /dev/null
+++ b/apps/k8s01/jellyfin/slo.yaml
@@ -0,0 +1,41 @@
+apiVersion: sloth.slok.dev/v1
+kind: PrometheusServiceLevel
+metadata:
+  name: requests-jellyfin
+  namespace: jellyfin
+spec:
+  service: "jellyfin"
+  slos:
+    - name: "requests-availability"
+      objective: 98
+      description: "Jellyfin: SLO based on availability for HTTP request responses."
+      sli:
+        events:
+          errorQuery: sum(rate(nginx_ingress_controller_requests{exported_namespace="jellyfin",ingress="jellyfin",status=~"(5..|429)"}[{{.window}}]))
+          totalQuery: sum(rate(nginx_ingress_controller_requests{exported_namespace="jellyfin",ingress="jellyfin"}[{{.window}}])) > 0 OR vector(1)
+      alerting:
+        name: JellyfinHighErrorRate
+        labels:
+          category: "availability"
+        annotations:
+          summary: "High error rate on 'jellyfin' requests responses"
+    - name: "requests-latency"
+      objective: 95
+      description: "Jellyfin: SLO based on latency for HTTP request responses. Warns if requests take longer than 250ms. When responses are slower than 200ms they become noticable slow."
+      labels:
+        category: latency
+      sli:
+        events:
+          errorQuery: |
+            (
+              sum(rate(nginx_ingress_controller_request_duration_seconds_count{exported_namespace="jellyfin",ingress="jellyfin",method!="WATCH"}[{{.window}}]))
+              -
+              sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{exported_namespace="jellyfin",ingress="jellyfin",le="0.25",verb!="WATCH"}[{{.window}}]))
+            )
+          totalQuery: sum(rate(nginx_ingress_controller_request_duration_seconds_count{exported_namespace="jellyfin",ingress="jellyfin",method!="WATCH"}[{{.window}}])) > 0 OR vector(1)
+      alerting:
+        name: JellyfinLatencyAlert
+        labels:
+          category: "latency"
+        annotations:
+          summary: "Slow responses on 'jellyfin' requests responses. More than 1% take more than 250ms."
\ No newline at end of file