diff --git a/k8s_manifests/bazarr/pod.yaml b/k8s_manifests/bazarr/pod.yaml new file mode 100644 index 0000000..e929aa3 --- /dev/null +++ b/k8s_manifests/bazarr/pod.yaml @@ -0,0 +1,37 @@ +apiVersion: v1 +kind: Pod +metadata: + name: bazarr + labels: + app.kubernetes.io/name: bazarr +spec: + volumes: + - name: nfs-vol + nfs: + server: 192.168.0.114 + path: /mnt/test1/media/ + - name: config + persistentVolumeClaim: + claimName: config-bazarr + containers: + - name: bazarr + image: ghcr.io/hotio/bazarr:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: "Etc/UTC" + - name: WEBUI_PORTS + value: "6767/tcp,6767/udp" + ports: + - containerPort: 6767 + volumeMounts: + - name: config + mountPath: /config + - name: nfs-vol + mountPath: /media + diff --git a/k8s_manifests/bazarr/pvc.yaml b/k8s_manifests/bazarr/pvc.yaml new file mode 100644 index 0000000..1e1bca4 --- /dev/null +++ b/k8s_manifests/bazarr/pvc.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-bazarr +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } + diff --git a/k8s_manifests/bazarr/service.yaml b/k8s_manifests/bazarr/service.yaml new file mode 100644 index 0000000..7827eed --- /dev/null +++ b/k8s_manifests/bazarr/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: svc-bazarr +spec: + selector: + app.kubernetes.io/name: bazarr + ports: + - name: webui + protocol: TCP + port: 80 + targetPort: 6767 + + diff --git a/k8s_manifests/ingress.yaml b/k8s_manifests/ingress.yaml index 74090a5..081767b 100644 --- a/k8s_manifests/ingress.yaml +++ b/k8s_manifests/ingress.yaml @@ -4,6 +4,56 @@ metadata: name: main-ingress spec: rules: + - host: "bazarr.local" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: svc-bazarr + port: + number: 80 + - host: "sonarr.local" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: svc-sonarr + port: + number: 80 + - host: "prowlarr.local" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: svc-prowlarr + port: + number: 80 + - host: "radarr.local" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: svc-radarr + port: + number: 80 + - host: "lidarr.local" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: svc-lidarr + port: + number: 80 - host: "qbittorrent.local" http: paths: @@ -14,3 +64,13 @@ spec: name: svc-qbittorrent port: number: 80 + - host: "plex.local" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: svc-plex + port: + number: 80 diff --git a/k8s_manifests/lidarr/pod.yaml b/k8s_manifests/lidarr/pod.yaml new file mode 100644 index 0000000..f5e4d30 --- /dev/null +++ b/k8s_manifests/lidarr/pod.yaml @@ -0,0 +1,35 @@ +apiVersion: v1 +kind: Pod +metadata: + name: lidarr + labels: + app.kubernetes.io/name: lidarr +spec: + volumes: + - name: nfs-vol + nfs: + server: 192.168.0.114 + path: /mnt/test1/media/ + - name: config + persistentVolumeClaim: + claimName: config-lidarr + containers: + - name: lidarr + image: ghcr.io/hotio/lidarr:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: "Etc/UTC" + ports: + - containerPort: 8686 + volumeMounts: + - name: config + mountPath: /config + - name: nfs-vol + mountPath: /media + diff --git a/k8s_manifests/lidarr/pvc.yaml b/k8s_manifests/lidarr/pvc.yaml new file mode 100644 index 0000000..d1b8a23 --- /dev/null +++ b/k8s_manifests/lidarr/pvc.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-lidarr +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } + diff --git a/k8s_manifests/lidarr/service.yaml b/k8s_manifests/lidarr/service.yaml new file mode 100644 index 0000000..05edf07 --- /dev/null +++ b/k8s_manifests/lidarr/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: svc-lidarr +spec: + selector: + app.kubernetes.io/name: lidarr + ports: + - name: webui + protocol: TCP + port: 80 + targetPort: 8686 + + diff --git a/k8s_manifests/qbittorrent.yaml b/k8s_manifests/old_qb.yaml similarity index 74% rename from k8s_manifests/qbittorrent.yaml rename to k8s_manifests/old_qb.yaml index 44ed8e5..916e811 100644 --- a/k8s_manifests/qbittorrent.yaml +++ b/k8s_manifests/old_qb.yaml @@ -1,4 +1,12 @@ apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-qbittorrent +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } +--- +apiVersion: v1 kind: Pod metadata: name: qbittorrent @@ -10,6 +18,9 @@ spec: nfs: server: 192.168.0.114 path: /mnt/test1/media/testing + - name: config + persistentVolumeClaim: + claimName: config-qbittorrent containers: - name: qbittorrent image: ghcr.io/hotio/qbittorrent:latest @@ -27,6 +38,8 @@ spec: ports: - containerPort: 8080 volumeMounts: + - name: config + mountPath: /config - name: nfs-vol mountPath: /media --- diff --git a/k8s_manifests/plex/pod.yaml b/k8s_manifests/plex/pod.yaml new file mode 100644 index 0000000..ff61203 --- /dev/null +++ b/k8s_manifests/plex/pod.yaml @@ -0,0 +1,49 @@ +apiVersion: v1 +kind: Pod +metadata: + name: plex + labels: + app.kubernetes.io/name: plex +spec: + volumes: + - name: nfs-vol + nfs: + server: 192.168.0.114 + path: /mnt/test1/media/ + - name: transcode + persistentVolumeClaim: + claimName: transcode-plex + - name: config + persistentVolumeClaim: + claimName: config-plex + containers: + - name: plex + image: ghcr.io/hotio/plex:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: "Etc/UTC" + - name: PLEX_CLAIM_TOKEN + valueFrom: + secretKeyRef: + name: plex-claim + key: PLEX_CLAIM + - name: PELX_BETA_INSTALL + value: "true" + - name: PLEX_PURGE_CODECS + value: "false" + ports: + - containerPort: 32400 + volumeMounts: + - name: config + mountPath: /config + - name: transcode + mountPath: /transcode + - name: nfs-vol + mountPath: /media + diff --git a/k8s_manifests/plex/pvc.yaml b/k8s_manifests/plex/pvc.yaml new file mode 100644 index 0000000..f8f1175 --- /dev/null +++ b/k8s_manifests/plex/pvc.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: transcode-plex +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 16Gi } } +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-plex +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } + + diff --git a/k8s_manifests/plex/service.yaml b/k8s_manifests/plex/service.yaml new file mode 100644 index 0000000..4fb8bdb --- /dev/null +++ b/k8s_manifests/plex/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: svc-plex +spec: + selector: + app.kubernetes.io/name: plex + ports: + - name: webui + protocol: TCP + port: 80 + targetPort: 32400 + + diff --git a/k8s_manifests/prowlarr/pod.yaml b/k8s_manifests/prowlarr/pod.yaml new file mode 100644 index 0000000..d99cbc0 --- /dev/null +++ b/k8s_manifests/prowlarr/pod.yaml @@ -0,0 +1,29 @@ +apiVersion: v1 +kind: Pod +metadata: + name: prowlarr + labels: + app.kubernetes.io/name: prowlarr +spec: + volumes: + - name: config + persistentVolumeClaim: + claimName: config-prowlarr + containers: + - name: prowlarr + image: ghcr.io/hotio/prowlarr:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: "Etc/UTC" + ports: + - containerPort: 9696 + volumeMounts: + - name: config + mountPath: /config + diff --git a/k8s_manifests/prowlarr/pvc.yaml b/k8s_manifests/prowlarr/pvc.yaml new file mode 100644 index 0000000..fe317db --- /dev/null +++ b/k8s_manifests/prowlarr/pvc.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-prowlarr +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } + diff --git a/k8s_manifests/prowlarr/service.yaml b/k8s_manifests/prowlarr/service.yaml new file mode 100644 index 0000000..3634719 --- /dev/null +++ b/k8s_manifests/prowlarr/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: svc-prowlarr +spec: + selector: + app.kubernetes.io/name: prowlarr + ports: + - name: webui + protocol: TCP + port: 80 + targetPort: 9696 + + diff --git a/k8s_manifests/qbittorrent/pod.yaml b/k8s_manifests/qbittorrent/pod.yaml new file mode 100644 index 0000000..ef25198 --- /dev/null +++ b/k8s_manifests/qbittorrent/pod.yaml @@ -0,0 +1,37 @@ +apiVersion: v1 +kind: Pod +metadata: + name: qbittorrent + labels: + app.kubernetes.io/name: qbittorrent +spec: + volumes: + - name: nfs-vol + nfs: + server: 192.168.0.114 + path: /mnt/test1/media/ + - name: config + persistentVolumeClaim: + claimName: config-qbittorrent + containers: + - name: qbittorrent + image: ghcr.io/hotio/qbittorrent:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: "Etc/UTC" + - name: WEBUI_PORTS + value: "8080/tcp,8080/udp" + ports: + - containerPort: 8080 + volumeMounts: + - name: config + mountPath: /config + - name: nfs-vol + mountPath: /media + diff --git a/k8s_manifests/qbittorrent/pvc.yaml b/k8s_manifests/qbittorrent/pvc.yaml new file mode 100644 index 0000000..d4157e7 --- /dev/null +++ b/k8s_manifests/qbittorrent/pvc.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-qbittorrent +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } + diff --git a/k8s_manifests/qbittorrent/service.yaml b/k8s_manifests/qbittorrent/service.yaml new file mode 100644 index 0000000..97fe720 --- /dev/null +++ b/k8s_manifests/qbittorrent/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: svc-qbittorrent +spec: + selector: + app.kubernetes.io/name: qbittorrent + ports: + - name: webui + protocol: TCP + port: 80 + targetPort: 8080 + + diff --git a/k8s_manifests/radarr/pod.yaml b/k8s_manifests/radarr/pod.yaml new file mode 100644 index 0000000..bd9f487 --- /dev/null +++ b/k8s_manifests/radarr/pod.yaml @@ -0,0 +1,35 @@ +apiVersion: v1 +kind: Pod +metadata: + name: radarr + labels: + app.kubernetes.io/name: radarr +spec: + volumes: + - name: nfs-vol + nfs: + server: 192.168.0.114 + path: /mnt/test1/media/ + - name: config + persistentVolumeClaim: + claimName: config-radarr + containers: + - name: radarr + image: ghcr.io/hotio/radarr:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: "Etc/UTC" + ports: + - containerPort: 7878 + volumeMounts: + - name: config + mountPath: /config + - name: nfs-vol + mountPath: /media + diff --git a/k8s_manifests/radarr/pvc.yaml b/k8s_manifests/radarr/pvc.yaml new file mode 100644 index 0000000..50e323a --- /dev/null +++ b/k8s_manifests/radarr/pvc.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-radarr +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } + diff --git a/k8s_manifests/radarr/service.yaml b/k8s_manifests/radarr/service.yaml new file mode 100644 index 0000000..51d700b --- /dev/null +++ b/k8s_manifests/radarr/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: svc-radarr +spec: + selector: + app.kubernetes.io/name: radarr + ports: + - name: webui + protocol: TCP + port: 80 + targetPort: 7878 + + diff --git a/k8s_manifests/sonarr/pod.yaml b/k8s_manifests/sonarr/pod.yaml new file mode 100644 index 0000000..ca2aa96 --- /dev/null +++ b/k8s_manifests/sonarr/pod.yaml @@ -0,0 +1,35 @@ +apiVersion: v1 +kind: Pod +metadata: + name: sonarr + labels: + app.kubernetes.io/name: sonarr +spec: + volumes: + - name: nfs-vol + nfs: + server: 192.168.0.114 + path: /mnt/test1/media/ + - name: config + persistentVolumeClaim: + claimName: config-sonarr + containers: + - name: sonarr + image: ghcr.io/hotio/sonarr:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: "Etc/UTC" + ports: + - containerPort: 8989 + volumeMounts: + - name: config + mountPath: /config + - name: nfs-vol + mountPath: /media + diff --git a/k8s_manifests/sonarr/pvc.yaml b/k8s_manifests/sonarr/pvc.yaml new file mode 100644 index 0000000..a6e7d1a --- /dev/null +++ b/k8s_manifests/sonarr/pvc.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: config-sonarr +spec: + accessModes: [ReadWriteOnce] + resources: { requests: { storage: 1Gi } } + diff --git a/k8s_manifests/sonarr/service.yaml b/k8s_manifests/sonarr/service.yaml new file mode 100644 index 0000000..415be95 --- /dev/null +++ b/k8s_manifests/sonarr/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: svc-sonarr +spec: + selector: + app.kubernetes.io/name: sonarr + ports: + - name: webui + protocol: TCP + port: 80 + targetPort: 8989 + +