From eb6c03f2d6977d38405bdbb8b5ee9d58fcd991f6 Mon Sep 17 00:00:00 2001
From: Steffen Illium <steffen.illium@gmail.com>
Date: Thu, 2 May 2024 20:08:21 +0200
Subject: [PATCH] emby added

---
 apps/emby/base/deployment.yaml | 62 ++++++++++++++++++++++++++++++++++
 apps/emby/base/ingress.yaml    | 15 ++++++++
 apps/emby/base/pvc.yaml        | 12 +++++++
 apps/emby/base/service.yaml    | 14 ++++++++
 apps/emby/kustomization.yaml   | 10 ++++++
 5 files changed, 113 insertions(+)
 create mode 100644 apps/emby/base/deployment.yaml
 create mode 100644 apps/emby/base/ingress.yaml
 create mode 100644 apps/emby/base/pvc.yaml
 create mode 100644 apps/emby/base/service.yaml
 create mode 100644 apps/emby/kustomization.yaml

diff --git a/apps/emby/base/deployment.yaml b/apps/emby/base/deployment.yaml
new file mode 100644
index 0000000..2bd6139
--- /dev/null
+++ b/apps/emby/base/deployment.yaml
@@ -0,0 +1,62 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: emby
+  labels:
+    app: emby
+  namespace: emby
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: emby
+  template:
+    metadata:
+      labels:
+        app: emby
+    spec:
+      containers:
+      - name: emby
+        image: emby/embyserver:latest
+        ports:
+        - name: http
+          containerPort: 8096
+        - name: https
+          containerPort: 8920
+        - name: http-front
+          containerPort: 8080
+        volumeMounts:
+        - mountPath: /config
+          name: config
+        - mountPath: /mnt/share_movie
+          name: media
+          subPath: movie
+        - mountPath: /mnt/share_tvshow
+          name: media
+          subPath: tvshow
+        - mountPath: /mnt/share_anime
+          name: media
+          subPath: anime
+        - mountPath: /mnt/share_music
+          name: media
+          subPath: music
+        resources: {}
+        livenessProbe:
+          httpGet:
+            path: /web/index.html
+            port: 8096
+          timeoutSeconds: 30
+        readinessProbe:
+          httpGet:
+            path: /web/index.html
+            port: 8096
+          timeoutSeconds: 30
+      volumes:
+      - name: config
+        persistentVolumeClaim:
+          claimName: config
+          readOnly: false
+      - name: media
+        nfs:
+          server: 192.168.178.4
+          path: /mnt/media
diff --git a/apps/emby/base/ingress.yaml b/apps/emby/base/ingress.yaml
new file mode 100644
index 0000000..70b6bb2
--- /dev/null
+++ b/apps/emby/base/ingress.yaml
@@ -0,0 +1,15 @@
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+  name: emby
+  namespace: emby
+  labels:
+    app: emby
+  rules:
+  - host: emby.steffenillium.de
+    http:
+      paths:
+      - path: /
+        backend:
+          serviceName: emby
+          servicePort: http
\ No newline at end of file
diff --git a/apps/emby/base/pvc.yaml b/apps/emby/base/pvc.yaml
new file mode 100644
index 0000000..8d9b79b
--- /dev/null
+++ b/apps/emby/base/pvc.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: emby
+spec:
+  storageClassName: "rook-cephfs"
+  volumeMode: Filesystem
+  accessModes:
+    - ReadWriteMany
+  resources:
+    requests:
+      storage: 30Gi
diff --git a/apps/emby/base/service.yaml b/apps/emby/base/service.yaml
new file mode 100644
index 0000000..61531e8
--- /dev/null
+++ b/apps/emby/base/service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: emby
+  namespace: default
+spec:
+  ports:
+  - name: http
+    port: 80
+    protocol: TCP
+    targetPort: http
+  selector:
+    app: emby
+  sessionAffinity: None
diff --git a/apps/emby/kustomization.yaml b/apps/emby/kustomization.yaml
new file mode 100644
index 0000000..a265607
--- /dev/null
+++ b/apps/emby/kustomization.yaml
@@ -0,0 +1,10 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
+namespace: emby
+
+resources:
+- base/deployment.yaml
+- base/ingress.yaml
+- base/pvc.yaml
+- base/service.yaml