diff --git a/services/PVR/Bazarr/_namespace-bazarr.yaml b/services/PVR/Bazarr/_namespace-bazarr.yaml new file mode 100644 index 0000000..eb18a3a --- /dev/null +++ b/services/PVR/Bazarr/_namespace-bazarr.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: bazarr diff --git a/services/PVR/Bazarr/application-bazarr.yaml b/services/PVR/Bazarr/application-bazarr.yaml new file mode 100644 index 0000000..0c2f4bc --- /dev/null +++ b/services/PVR/Bazarr/application-bazarr.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: bazarr + namespace: argo-cd +spec: + destination: + namespace: bazarr + server: https://kubernetes.default.svc + project: default + syncPolicy: + automated: {} + syncOptions: + - CreateNamespace=true + sources: + - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog + path: services/PVR/bazarr + targetRevision: HEAD diff --git a/services/PVR/Bazarr/deployment-bazarr.yaml b/services/PVR/Bazarr/deployment-bazarr.yaml new file mode 100644 index 0000000..2c07b62 --- /dev/null +++ b/services/PVR/Bazarr/deployment-bazarr.yaml @@ -0,0 +1,43 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bazarr + namespace: bazarr + labels: + app: bazarr +spec: + replicas: 1 + selector: + matchLabels: + app: bazarr + strategy: + type: Recreate + template: + metadata: + labels: + app: bazarr + spec: + containers: + - name: bazarr + image: linuxserver/bazarr:latest + imagePullPolicy: Always + ports: + - name: web + containerPort: 6767 + volumeMounts: + - mountPath: /config + name: csismb-bazarr-config + - mountPath: /movies + name: csismb-bazarr-movies + - mountPath: /tv + name: csismb-bazarr-series + volumes: + - name: csismb-bazarr-config + persistentVolumeClaim: + claimName: csismb-bazarr-config + - name: csismb-bazarr-movies + persistentVolumeClaim: + claimName: csismb-bazarr-movies + - name: csismb-bazarr-series + persistentVolumeClaim: + claimName: csismb-bazarr-series diff --git a/services/PVR/Bazarr/ingressroute-bazarr.yaml b/services/PVR/Bazarr/ingressroute-bazarr.yaml new file mode 100644 index 0000000..890f211 --- /dev/null +++ b/services/PVR/Bazarr/ingressroute-bazarr.yaml @@ -0,0 +1,18 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: bazarr + namespace: bazarr +spec: + entryPoints: + - websecure + routes: + - match: Host(`captions.pvr.spamasaurus.com`) + kind: Rule + services: + - name: bazarr + port: 6767 + middlewares: + - name: 2fa-authentication@file + - name: security-headers@file + # - name: compression@file diff --git a/services/PVR/Bazarr/persistentvolume-csismb-bazarr-config.yaml b/services/PVR/Bazarr/persistentvolume-csismb-bazarr-config.yaml new file mode 100644 index 0000000..5ac974e --- /dev/null +++ b/services/PVR/Bazarr/persistentvolume-csismb-bazarr-config.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: smb.csi.k8s.io + name: csismb-bazarr-config +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + storageClassName: csismb-bazarr-config + mountOptions: + - dir_mode=0777 + - file_mode=0777 + - uid=911 + - gid=911 + - nobrl + - cache=strict + - mfsymlinks + - noserverino # required to prevent data corruption + csi: + driver: smb.csi.k8s.io + # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} + # make sure this value is unique for every share in the cluster + volumeHandle: 192.168.154.195#bazarr#config + volumeAttributes: + source: //192.168.154.195/K3s.Volumes + subDir: bazarr/config + nodeStageSecretRef: + name: smb-credentials + namespace: bazarr diff --git a/services/PVR/Bazarr/persistentvolume-csismb-jellyfin-movies.yaml b/services/PVR/Bazarr/persistentvolume-csismb-jellyfin-movies.yaml new file mode 100644 index 0000000..027b679 --- /dev/null +++ b/services/PVR/Bazarr/persistentvolume-csismb-jellyfin-movies.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: smb.csi.k8s.io + name: csismb-bazarr-movies +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + storageClassName: csismb-bazarr-movies + mountOptions: + - dir_mode=0777 + - file_mode=0777 + - uid=911 + - gid=911 +# - nobrl + - cache=strict + - mfsymlinks + - noserverino # required to prevent data corruption + csi: + driver: smb.csi.k8s.io + # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} + # make sure this value is unique for every share in the cluster + volumeHandle: 192.168.154.195#bazarr#movies + volumeAttributes: + source: //192.168.154.195/Public + subDir: Video's/Films + nodeStageSecretRef: + name: smb-credentials + namespace: bazarr diff --git a/services/PVR/Bazarr/persistentvolume-csismb-jellyfin-series.yaml b/services/PVR/Bazarr/persistentvolume-csismb-jellyfin-series.yaml new file mode 100644 index 0000000..7b8f196 --- /dev/null +++ b/services/PVR/Bazarr/persistentvolume-csismb-jellyfin-series.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: smb.csi.k8s.io + name: csismb-bazarr-series +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + storageClassName: csismb-bazarr-series + mountOptions: + - dir_mode=0777 + - file_mode=0777 + - uid=911 + - gid=911 +# - nobrl + - cache=strict + - mfsymlinks + - noserverino # required to prevent data corruption + csi: + driver: smb.csi.k8s.io + # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} + # make sure this value is unique for every share in the cluster + volumeHandle: 192.168.154.195#bazarr#series + volumeAttributes: + source: //192.168.154.195/Public + subDir: Video's/Series + nodeStageSecretRef: + name: smb-credentials + namespace: bazarr diff --git a/services/PVR/Bazarr/persistentvolumeclaim-csismb-bazarr-config.yaml b/services/PVR/Bazarr/persistentvolumeclaim-csismb-bazarr-config.yaml new file mode 100644 index 0000000..e40cecb --- /dev/null +++ b/services/PVR/Bazarr/persistentvolumeclaim-csismb-bazarr-config.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: csismb-bazarr-config + namespace: bazarr +spec: + accessModes: + - ReadWriteMany + storageClassName: csismb-bazarr-config + resources: + requests: + storage: 1Gi diff --git a/services/PVR/Bazarr/persistentvolumeclaim-csismb-jellyfin-movies.yaml b/services/PVR/Bazarr/persistentvolumeclaim-csismb-jellyfin-movies.yaml new file mode 100644 index 0000000..ca993ce --- /dev/null +++ b/services/PVR/Bazarr/persistentvolumeclaim-csismb-jellyfin-movies.yaml @@ -0,0 +1,12 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: csismb-bazarr-movies + namespace: bazarr +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi + storageClassName: csismb-bazarr-movies diff --git a/services/PVR/Bazarr/persistentvolumeclaim-csismb-jellyfin-series.yaml b/services/PVR/Bazarr/persistentvolumeclaim-csismb-jellyfin-series.yaml new file mode 100644 index 0000000..80c691a --- /dev/null +++ b/services/PVR/Bazarr/persistentvolumeclaim-csismb-jellyfin-series.yaml @@ -0,0 +1,12 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: csismb-bazarr-series + namespace: bazarr +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi + storageClassName: csismb-bazarr-series diff --git a/services/PVR/Bazarr/sealedsecret-smb-credentials.yaml b/services/PVR/Bazarr/sealedsecret-smb-credentials.yaml new file mode 100644 index 0000000..7a81d92 --- /dev/null +++ b/services/PVR/Bazarr/sealedsecret-smb-credentials.yaml @@ -0,0 +1,14 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: smb-credentials + namespace: bazarr +spec: + encryptedData: + password: AgBOHNOsO7vRPeVmYSWmC3rozbFWozrt5zVbQnktnJfpiaHDKc42jDpd/Ug4EB8OVCOqM7AG6bMmeUz0TwWwaktap1epnBsa/6LZU1X7EATIlZ3B9pheHxETMCPBuCF853pr7vsASYW38jgY0jrlzAHuoak/P9DO+0YSPIaWV4a4lJHl7ZduER6RU++zjap1hTQKVaVDd5EJysS9hbh8Tiyx/jXQnkQnxrwpl9ZYaYVSuQcJIDUe2NBzsWMq3f53S2q4AEli6B0L5PVcQnSelzRVxhQ3zvNTpT2dJiCAtrAu1sVqcNknU4UKFEeyAdUDflSE3RH/Hwg1TxQz4cks0+oT6SGa1964U8fF0/zPHILGUt3eOhVFmBU5itI3Fe8J+Zk/DpMlRg0JoEbx0Pylq1JlBls31KTHoHtJVEF9LPB/Eqevvwx8ERe7RhJFYnlu0pQdZMhlU0y5sasiUby4AHNc+99qa/qFQoWCnr1y85Q7RAfPTY0ONWI7cW6soxtJo3kYYP8WARr9eGkXhd4KIcXJOF3Yvjg1FjEMd6k+4hHoWKlcmjjptu693CVBV8zGuxZHOBagbaf5ODs8e/IIJRsPhbJ4hVlkpavk00MbDoW5L/WHGtYoRx5JRCmXeT5qeNpJL26bL3RpdC6nY4Glh5PB97JxpDkhNCfinBrCH2urjBwYAz+o8BiPa5XjnY+Rq7EnoPIpADVVdzE+vyUL8Msm + username: AgC7jXwLqgbL3thXUymbF8mdPwnzmXZUvPQ0erAY0/NaZassMOnvlbTwpX0HbOSWVdJNGpzDlBPgjZ3Ayl1oOEVbQs8+I96T+klJgfJ2aMQMSfjpBzV2HXTuENfYLyDgzvX78a2jf/h54tQtU/zXuqvYpuXYBNIuishZxvK/JtkT82KQ3u4xA3DlvaWlu5RqnLQCaDXDnKPiyDdxRKgu97RcCpN3ONhPsTCmr5YfePmyL+w7Aq2WOPIQshUpkg9joQELdo8TPdxPOPvj72XGBzGjtq3I0dNPFn6iLQre60eKB7MqLsAWkf7lIkdgww+JqqCqf/AWeK2QUNH/oK+Y4rtqOV2rVb75Z+/MLD2VGwTo5UhOy9LOLEOXTlBIz/awNj4Z+TRmzZgkFOm62FVt5c+JwwjPg9vaS5+7pIeihkLO+KLziFyAMx67ASqrhqmMb6EZZ22yyuPsqwCxvUXHQ5khfgFxjg1s4n56Lsb/WIkCvQFi2B7jNLYWaNIfUDNySyHZdg5C249nsWRiCm+pjUFBiYWkCxVMvNAG1MCEzXnrD0aPPSyY8JRRTtRMUo8ykK+TiKn8b/ocrFu6lo2g4GiuNtLBUTdBhwQmHeMLZ3STofI5I2+eP4XGkWrdEjq6+L5NV5NmG+0CwyIAziNgumJVkbYBN93v1c1QQFpbt5Y8VtINvl++TU0uetC/wOpbz7GSGTpu2EQ= + template: + metadata: + name: smb-credentials + namespace: bazarr + type: Opaque diff --git a/services/PVR/Bazarr/service-bazarr.yaml b/services/PVR/Bazarr/service-bazarr.yaml new file mode 100644 index 0000000..ec023ef --- /dev/null +++ b/services/PVR/Bazarr/service-bazarr.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: bazarr + namespace: bazarr +spec: + ports: + - protocol: TCP + name: web + port: 6767 + selector: + app: bazarr