apps: qbittorrent + jellyfin
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