diff --git a/core/installer/app.go b/core/installer/app.go
index 9e3cb29..ccdbe97 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -7,6 +7,19 @@
 	Templates []*template.Template
 }
 
+func CreateAllApps(tmpls *template.Template) []App {
+	return []App{
+		CreateAppIngressPrivate(tmpls),
+		CreateAppCoreAuth(tmpls),
+		CreateAppVaultwarden(tmpls),
+		CreateAppMatrix(tmpls),
+		CreateAppPihole(tmpls),
+		CreateAppMaddy(tmpls),
+		CreateAppQBittorrent(tmpls),
+		CreateAppJellyfin(tmpls),
+	}
+}
+
 func CreateAppIngressPrivate(tmpls *template.Template) App {
 	return App{
 		"ingress-private",
@@ -64,3 +77,21 @@
 		},
 	}
 }
+
+func CreateAppQBittorrent(tmpls *template.Template) App {
+	return App{
+		"qbittorrent",
+		[]*template.Template{
+			tmpls.Lookup("qbittorrent.yaml"),
+		},
+	}
+}
+
+func CreateAppJellyfin(tmpls *template.Template) App {
+	return App{
+		"jellyfin",
+		[]*template.Template{
+			tmpls.Lookup("jellyfin.yaml"),
+		},
+	}
+}
diff --git a/core/installer/main.go b/core/installer/main.go
index e9ec79b..8c006ba 100644
--- a/core/installer/main.go
+++ b/core/installer/main.go
@@ -75,14 +75,7 @@
 	if err != nil {
 		log.Fatal(err)
 	}
-	apps := []App{
-		CreateAppIngressPrivate(tmpls),
-		CreateAppCoreAuth(tmpls),
-		CreateAppVaultwarden(tmpls),
-		CreateAppMatrix(tmpls),
-		CreateAppPihole(tmpls),
-		CreateAppMaddy(tmpls),
-	}
+	apps := CreateAllApps(tmpls)
 	for _, a := range apps {
 		if a.Name == installFlags.appName {
 			for _, t := range a.Templates {
diff --git a/core/installer/values-tmpl/jellyfin.yaml b/core/installer/values-tmpl/jellyfin.yaml
new file mode 100644
index 0000000..d68109a
--- /dev/null
+++ b/core/installer/values-tmpl/jellyfin.yaml
@@ -0,0 +1,22 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: jellyfin
+  namespace: {{ .Values.NamespacePrefix }}app-jellyfin
+spec:
+  chart:
+    spec:
+      chart: charts/jellyfin
+      sourceRef:
+        kind: GitRepository
+        name: pcloud
+        namespace: {{ .Values.Id }}
+  dependsOn:
+    - name: namespaces
+      namespace: {{ .Values.Id }}
+  interval: 1m0s
+  values:
+    pcloudInstanceId: {{ .Values.Id }}
+    ingress:
+      className: {{ .Values.Id }}-ingress-private
+      domain: jellyfin.p.{{ .Values.Domain }}
diff --git a/core/installer/values-tmpl/qbittorrent.yaml b/core/installer/values-tmpl/qbittorrent.yaml
new file mode 100644
index 0000000..0eaf507
--- /dev/null
+++ b/core/installer/values-tmpl/qbittorrent.yaml
@@ -0,0 +1,32 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: qbittorrent
+  namespace: {{ .Values.NamespacePrefix }}app-torrent # TODO(giolekva): qbittorrent
+spec:
+  chart:
+    spec:
+      chart: charts/qbittorrent
+      sourceRef:
+        kind: GitRepository
+        name: pcloud
+        namespace: {{ .Values.Id }}
+  dependsOn:
+    - name: namespaces
+      namespace: {{ .Values.Id }}
+  interval: 1m0s
+  values:
+    pcloudInstanceId: {{ .Values.Id }}
+    image:
+      repository: lscr.io/linuxserver/qbittorrent
+      tag: latest
+      pullPolicy: IfNotPresent
+    ingress:
+      className: {{ .Values.Id }}-ingress-private
+      domain: torrent.p.{{ .Values.Domain }}
+    webui:
+      port: 8080
+    bittorrent:
+      port: 6881
+    storage:
+      size: 1Ti
