debrid syslinks base

This commit is contained in:
nomadics9 2025-02-01 22:13:08 +03:00
parent 9c71ae33ec
commit ffc9d0ebd1
No known key found for this signature in database
18 changed files with 608 additions and 232 deletions

View file

@ -0,0 +1,26 @@
#!/bin/bash
echo "Do you want to copy:"
echo "1) Into worker"
echo "2) From worker"
read -p "Enter your choice (1 or 2): " choice
if [[ "$choice" == "1" ]]; then
echo "Copying into worker..."
sudo cp -r /SSD/media/configs/jellyarr/jellyfin_config/* /SSD/media/configs/jellyarr/jellyfin_worker_config/
echo "Finished!"
elif [[ "$choice" == "2" ]]; then
read -p "Are you sure you want to copy FROM worker? (y/n): " confirm
if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then
echo "Copying from worker..."
sudo cp -r /SSD/media/configs/jellyarr/jellyfin_worker_config/* /SSD/media/configs/jellyarr/jellyfin_config/
echo "Finished!"
else
echo "Operation canceled."
fi
else
echo "Invalid choice. Please enter 1 or 2."
fi

View file

@ -0,0 +1,86 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
keel.sh/policy: minor
keel.sh/trigger: poll
keel.sh/pollSchedule: "@every 6h"
labels:
io.kompose.service: jellyfin-worker
name: jellyfin-worker
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: jellyfin-worker
strategy:
type: Recreate
template:
metadata:
labels:
io.kompose.service: jellyfin-worker
spec:
nodeSelector:
role: worker
securityContext:
supplementalGroups:
- 105
runAsUser: 1000
runAsGroup: 1000
containers:
- env:
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: TZ
value: Asia/Kuwait
securityContext:
privileged: true
image: nomadics/alaskarfin:latest
name: jellyfin
ports:
- containerPort: 8096
protocol: TCP
volumeMounts:
- mountPath: /config
name: ssd
subPath: configs/jellyarr/jellyfin_worker_config
- mountPath: /data/tvshows
name: ssd
subPath: tvshows
- mountPath: /data/movies
name: ssd
subPath: movies
- mountPath: /data/anime
name: ssd
subPath: anime
- mountPath: /data/books/audiobooks
name: ssd
subPath: books/audiobooks
- mountPath: /data/books/ebooks
name: ssd
subPath: books/ebooks
- mountPath: /HDD
name: hdd
- mountPath: /mnt/zurg/__all__
name: rclone-data
subPath: __all__
- name: render-d128
mountPath: /dev/dri/renderD128
restartPolicy: Always
volumes:
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc
- name: hdd
persistentVolumeClaim:
claimName: nfs-hdd-pvc
- name: rclone-data
persistentVolumeClaim:
claimName: rclone-data-pvc
- name: render-d128
hostPath:
path: /dev/dri/renderD128

View file

@ -22,6 +22,10 @@ spec:
spec: spec:
nodeSelector: nodeSelector:
role: master role: master
securityContext:
supplementalGroups:
- 109
- 44
containers: containers:
- env: - env:
- name: PGID - name: PGID
@ -31,9 +35,11 @@ spec:
- name: TZ - name: TZ
value: Asia/Kuwait value: Asia/Kuwait
- name: NVIDIA_VISIBLE_DEVICES - name: NVIDIA_VISIBLE_DEVICES
value: all # Make all GPUs visible value: all
- name: NVIDIA_DRIVER_CAPABILITIES - name: NVIDIA_DRIVER_CAPABILITIES
value: all # Required for Jellyfin hardware acceleration value: all
securityContext:
privileged: true
image: nomadics/alaskarfin:latest image: nomadics/alaskarfin:latest
name: jellyfin name: jellyfin
ports: ports:
@ -63,11 +69,13 @@ spec:
- mountPath: /data/books/ebooks - mountPath: /data/books/ebooks
name: ssd name: ssd
subPath: books/ebooks subPath: books/ebooks
- mountPath: /data/HDD/media - mountPath: /HDD
name: hdd name: hdd
- mountPath: /data/rclone/__all__ - mountPath: /mnt/zurg/__all__
name: rclone-data name: rclone-data
path: __all__ subPath: __all__
- name: render-d128
mountPath: /dev/dri/renderD128
restartPolicy: Always restartPolicy: Always
runtimeClassName: nvidia runtimeClassName: nvidia
volumes: volumes:
@ -80,4 +88,9 @@ spec:
- name: rclone-data - name: rclone-data
persistentVolumeClaim: persistentVolumeClaim:
claimName: rclone-data-pvc claimName: rclone-data-pvc
- name: render-d128
hostPath:
path: /dev/dri/renderD128

View file

@ -12,3 +12,21 @@ spec:
targetPort: 8096 targetPort: 8096
selector: selector:
io.kompose.service: jellyfin io.kompose.service: jellyfin
---
apiVersion: v1
kind: Service
metadata:
labels:
io.kompose.service: jellyfin-worker
name: jellyfin-worker
spec:
type: ClusterIP
ports:
- name: "8096"
port: 8096
targetPort: 8096
selector:
io.kompose.service: jellyfin-worker

View file

@ -7,8 +7,12 @@ data:
#!/bin/bash #!/bin/bash
psql -U postgres <<-EOSQL psql -U postgres <<-EOSQL
CREATE DATABASE "radarr-log"; CREATE DATABASE "radarr-log";
CREATE DATABASE "radarr4k-main";
CREATE DATABASE "radarr4k-log";
CREATE DATABASE "sonarr-main"; CREATE DATABASE "sonarr-main";
CREATE DATABASE "sonarr4k-main";
CREATE DATABASE "sonarr-log"; CREATE DATABASE "sonarr-log";
CREATE DATABASE "sonarr4k-log";
CREATE DATABASE "bazarr" CREATE DATABASE "bazarr"
CREATE DATABASE "prowlarr-main"; CREATE DATABASE "prowlarr-main";
CREATE DATABASE "prowlarr-log"; CREATE DATABASE "prowlarr-log";

View file

@ -20,6 +20,8 @@ spec:
labels: labels:
io.kompose.service: bazarr io.kompose.service: bazarr
spec: spec:
nodeSelector:
role: master
containers: containers:
- env: - env:
- name: DOCKER_MODS - name: DOCKER_MODS
@ -54,7 +56,7 @@ spec:
subPath: anime subPath: anime
- mountPath: /HDD - mountPath: /HDD
name: hdd name: hdd
- mountPath: /data/rclone/__all__ - mountPath: /mnt/zurg/__all__
name: rclone-data name: rclone-data
subPath: __all__ subPath: __all__
restartPolicy: Always restartPolicy: Always
@ -69,3 +71,76 @@ spec:
persistentVolumeClaim: persistentVolumeClaim:
claimName: rclone-data-pvc claimName: rclone-data-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
keel.sh/policy: minor
keel.sh/trigger: poll
keel.sh/pollSchedule: "@every 6h"
labels:
io.kompose.service: bazarr4k
name: bazarr4k
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: bazarr4k
strategy:
type: Recreate
template:
metadata:
labels:
io.kompose.service: bazarr4k
spec:
nodeSelector:
role: worker
containers:
- env:
- name: DOCKER_MODS
value: wayller/bazarr-mod-subsync:latest
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: TZ
value: Asia/Kuwait
image: linuxserver/bazarr:latest
name: bazarr
ports:
- containerPort: 6767
protocol: TCP
# lifecycle:
# postStart:
# exec:
# command: ["/bin/sh", "-c", "cp /config/batch_sync.py / && pip install colorama tqdm autosubsync"]
volumeMounts:
- mountPath: /config
name: ssd
subPath: configs/trackers/bazarr4k_config
- mountPath: /tvshows
name: ssd
subPath: tvshows
- mountPath: /movies
name: ssd
subPath: movies
- mountPath: /anime
name: ssd
subPath: anime
- mountPath: /HDD
name: hdd
- mountPath: /mnt/zurg/__all__
name: rclone-data
subPath: __all__
restartPolicy: Always
volumes:
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc
- name: hdd
persistentVolumeClaim:
claimName: nfs-hdd-pvc
- name: rclone-data
persistentVolumeClaim:
claimName: rclone-data-pvc

View file

@ -12,3 +12,19 @@ spec:
targetPort: 6767 targetPort: 6767
selector: selector:
io.kompose.service: bazarr io.kompose.service: bazarr
---
apiVersion: v1
kind: Service
metadata:
labels:
io.kompose.service: bazarr4k
name: bazarr4k
spec:
type: ClusterIP
ports:
- name: "6767"
port: 6767
targetPort: 6767
selector:
io.kompose.service: bazarr4k

View file

@ -1,138 +0,0 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: zurg
spec:
replicas: 1
selector:
matchLabels:
app: zurg
template:
metadata:
labels:
app: zurg
spec:
containers:
- name: zurg
image: ghcr.io/debridmediamanager/zurg-testing:latest
ports:
- containerPort: 9999
volumeMounts:
- name: ssd
mountPath: /app/jellyfin_update.sh
subPath: configs/zurg/app/jellyfin_update.sh
- name: ssd
mountPath: /app/config.yml
subPath: configs/zurg/app/config.yml
- name: rclone-data
mountPath: /app/data
volumes:
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc
- name: rclone-data
persistentVolumeClaim:
claimName: rclone-data-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rclone
spec:
replicas: 1
selector:
matchLabels:
app: rclone
template:
metadata:
labels:
app: rclone
spec:
containers:
- name: rclone
image: rclone/rclone:latest
env:
- name: TZ
value: Asia/Kuwait
securityContext:
capabilities:
add: ["SYS_ADMIN"]
privileged: true
volumeMounts:
- name: rclone-data
mountPath: /data
- name: ssd
mountPath: /config/rclone/rclone.conf
subPath: configs/rclone/rclone.conf
- name: dev-fuse
mountPath: /dev/fuse
command: ["rclone", "mount", "zurg:", "/data", "--allow-other", "--umask=0022", "--uid=1000", "--gid=1000", "--dir-perms=0775", "--file-perms=0664", "--poll-interval", "30s", "--allow-non-empty", "--allow-root", "--vfs-cache-mode", "full", "--dir-cache-time", "10s", "--cache-dir", "/SSD/media/configs/rclone/cache"]
volumes:
- name: dev-fuse
hostPath:
path: /dev/fuse
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc
- name: rclone-data
persistentVolumeClaim:
claimName: rclone-data-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rdtclient
spec:
replicas: 1
selector:
matchLabels:
app: rdtclient
template:
metadata:
labels:
app: rdtclient
spec:
containers:
- name: rdtclient
image: rogerfar/rdtclient
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: Asia/Kuwait
ports:
- containerPort: 6500
volumeMounts:
- name: hdd
mountPath: /data/downloads
subPath: media/transmission/downloads/complete/
- name: ssd
mountPath: /data/db
subPath: configs/rdtDB
- name: rclone-data
mountPath: /data/rclone/__all__
subPath: __all__
livenessProbe:
httpGet:
path: /
port: 6500
initialDelaySeconds: 30
periodSeconds: 30
timeoutSeconds: 30
failureThreshold: 3
volumes:
- name: hdd
persistentVolumeClaim:
claimName: nfs-hdd-pvc
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc
- name: rclone-data
persistentVolumeClaim:
claimName: rclone-data-pvc

View file

@ -1,33 +0,0 @@
---
apiVersion: v1
kind: Service
metadata:
labels:
app: zurg
name: zurg
spec:
type: ClusterIP
ports:
- name: "9999"
port: 9999
targetPort: 9999
selector:
app: zurg
---
apiVersion: v1
kind: Service
metadata:
labels:
app: rdtclient
name: rdtclient
spec:
type: ClusterIP
ports:
- name: "6500"
port: 6500
targetPort: 6500
selector:
app: rdtclient
---

View file

@ -9,6 +9,15 @@ spec:
- websecure - websecure
routes: routes:
- match: Host(`askar.tv`) || Host(`www.askar.tv`) - match: Host(`askar.tv`) || Host(`www.askar.tv`)
kind: Rule
middlewares:
- name : https-redirect
- name : analytics
namespace: umami
services:
- name: jellyfin-worker
port: 8096
- match: Host(`gpu.askar.tv`)
kind: Rule kind: Rule
middlewares: middlewares:
- name : https-redirect - name : https-redirect
@ -44,6 +53,15 @@ spec:
services: services:
- name: bazarr - name: bazarr
port: 6767 port: 6767
- match: Host(`sync4k.askar.tv`)
kind: Rule
middlewares:
- name : https-redirect
- name : analytics
namespace: umami
services:
- name: bazarr4k
port: 6767
- match: Host(`user.askar.tv`) - match: Host(`user.askar.tv`)
kind: Rule kind: Rule
middlewares: middlewares:
@ -67,6 +85,13 @@ spec:
services: services:
- name: radarr - name: radarr
port: 7878 port: 7878
- match: Host(`rr4k.askar.tv`)
kind: Rule
middlewares:
- name : https-redirect
services:
- name: radarr4k
port: 7878
- match: Host(`sr.askar.tv`) - match: Host(`sr.askar.tv`)
kind: Rule kind: Rule
middlewares: middlewares:
@ -74,6 +99,13 @@ spec:
services: services:
- name: sonarr - name: sonarr
port: 8989 port: 8989
- match: Host(`sr4k.askar.tv`)
kind: Rule
middlewares:
- name : https-redirect
services:
- name: sonarr4k
port: 8989
- match: Host(`dl.askar.tv`) - match: Host(`dl.askar.tv`)
kind: Rule kind: Rule
middlewares: middlewares:
@ -113,4 +145,29 @@ spec:
tls: tls:
certResolver: le certResolver: le
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: media-services-internal
namespace: default
spec:
entryPoints:
- web
- websecure
routes:
- match: Host(`internal.askar.tv`)
kind: Rule
middlewares:
- name: lan-only
services:
- name: jellyfin-worker
port: 8096
- match: Host(`internal2.askar.tv`)
kind: Rule
middlewares:
- name: lan-only
services:
- name: jellyseerr
port: 5055

View file

@ -9,30 +9,9 @@ spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
csi: nfs:
driver: nfs.csi.k8s.io
volumeHandle: nfs-ssd
volumeAttributes:
server: 192.168.0.200 server: 192.168.0.200
share: /SSD/media path: /SSD/media
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: rclone-data
spec:
capacity:
storage: 3Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
csi:
driver: nfs.csi.k8s.io
volumeHandle: rclone-data
volumeAttributes:
server: 192.168.0.200
share: /SSD/media/rclone-data
--- ---
apiVersion: v1 apiVersion: v1
@ -45,26 +24,55 @@ spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
csi: nfs:
driver: nfs.csi.k8s.io
volumeHandle: nfs-hdd
volumeAttributes:
server: 192.168.0.200 server: 192.168.0.200
share: /HDD path: /HDD
--- ---
apiVersion: v1 apiVersion: v1
kind: PersistentVolume kind: PersistentVolume
metadata: metadata:
name: alaskarserver-rclone name: rclone-data
spec: spec:
capacity: capacity:
storage: 3Ti storage: 6Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
csi:
driver: csi-rclone
volumeHandle: rclone-data
volumeAttributes:
remote: "webdav"
remotePath: "/"
webdav-url: "http://192.168.0.200:30999/dav/"
allow-other: "true"
umask: "0022"
uid: "1000"
gid: "1000"
dir-perms: "0777"
file-perms: "0666"
poll-interval: "30s"
allow-non-empty: "true"
vfs-cache-mode: "full"
dir-cache-time: "10s"
# vfs-cache-max-age: "5m"
cache-dir: "/HDD/rclone-cache"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: mnt
spec:
capacity:
storage: 1Ti
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
persistentVolumeReclaimPolicy: Retain persistentVolumeReclaimPolicy: Retain
hostPath: hostPath:
path: /mnt/zurg/__all__ path: /mnt
--- ---
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
@ -88,7 +96,7 @@ spec:
- ReadWriteMany - ReadWriteMany
resources: resources:
requests: requests:
storage: 3Ti storage: 6Ti
volumeName: rclone-data volumeName: rclone-data
storageClassName: "" storageClassName: ""
@ -109,12 +117,13 @@ spec:
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
name: alaskarserver-rclone-pvc name: mnt-pvc
spec: spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
resources: resources:
requests: requests:
storage: 3Ti storage: 1Ti
volumeName: alaskarserver-rclone volumeName: mnt
storageClassName: "" storageClassName: ""
---

View file

@ -20,6 +20,11 @@ spec:
labels: labels:
io.kompose.service: radarr io.kompose.service: radarr
spec: spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
nodeSelector:
role: master
containers: containers:
- env: - env:
- name: PGID - name: PGID
@ -33,6 +38,8 @@ spec:
ports: ports:
- containerPort: 7878 - containerPort: 7878
protocol: TCP protocol: TCP
securityContext:
privileged: true
volumeMounts: volumeMounts:
- mountPath: /config - mountPath: /config
name: ssd name: ssd
@ -40,16 +47,13 @@ spec:
- mountPath: /movies - mountPath: /movies
name: ssd name: ssd
subPath: movies subPath: movies
# - mountPath: /downloads/complete
# name: hdd
# subPath: transmission/downloads/complete/
# - mountPath: /data/HDD/media
# name: hdd
- mountPath: /HDD - mountPath: /HDD
name: hdd name: hdd
- mountPath: /data/rclone/__all__ - mountPath: data/downloads
name: rclone-data name: ssd
subPath: __all__ subPath: downloads
- mountPath: /mnt
name: mnt
restartPolicy: Always restartPolicy: Always
volumes: volumes:
- name: ssd - name: ssd
@ -61,4 +65,79 @@ spec:
- name: rclone-data - name: rclone-data
persistentVolumeClaim: persistentVolumeClaim:
claimName: rclone-data-pvc claimName: rclone-data-pvc
- name: mnt
persistentVolumeClaim:
claimName: mnt-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
keel.sh/policy: minor
keel.sh/trigger: poll
keel.sh/pollSchedule: "@every 6h"
labels:
io.kompose.service: radarr4k
name: radarr4k
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: radarr4k
strategy:
type: Recreate
template:
metadata:
labels:
io.kompose.service: radarr4k
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
nodeSelector:
role: master
containers:
- env:
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: TZ
value: Asia/Kuwait
image: linuxserver/radarr:latest
name: radarr
ports:
- containerPort: 7878
protocol: TCP
securityContext:
privileged: true
volumeMounts:
- mountPath: /config
name: ssd
subPath: configs/trackers/radarr4k_config
- mountPath: /movies
name: ssd
subPath: movies
- mountPath: /HDD
name: hdd
- mountPath: data/downloads
name: ssd
subPath: downloads
- mountPath: /mnt
name: mnt
restartPolicy: Always
volumes:
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc
- name: hdd
persistentVolumeClaim:
claimName: nfs-hdd-pvc
- name: rclone-data
persistentVolumeClaim:
claimName: rclone-data-pvc
- name: mnt
persistentVolumeClaim:
claimName: mnt-pvc

View file

@ -13,3 +13,19 @@ spec:
selector: selector:
io.kompose.service: radarr io.kompose.service: radarr
---
apiVersion: v1
kind: Service
metadata:
labels:
io.kompose.service: radarr4k
name: radarr4k
spec:
type: ClusterIP
ports:
- name: "7878"
port: 7878
targetPort: 7878
selector:
io.kompose.service: radarr4k

View file

@ -20,10 +20,16 @@ spec:
labels: labels:
io.kompose.service: sonarr io.kompose.service: sonarr
spec: spec:
nodeSelector:
role: master
containers: containers:
- env: - env:
- name: PGID
value: "1000"
- name: PUID - name: PUID
value: "1000" value: "1000"
- name: TZ
value: Asia/Kuwait
image: linuxserver/sonarr:latest image: linuxserver/sonarr:latest
name: sonarr name: sonarr
ports: ports:
@ -39,14 +45,13 @@ spec:
- mountPath: /anime - mountPath: /anime
name: ssd name: ssd
subPath: anime subPath: anime
- mountPath: /downloads/complete
name: hdd
subPath: transmission/downloads/complete
- mountPath: /HDD - mountPath: /HDD
name: hdd name: hdd
- mountPath: /data/rclone/__all__ - mountPath: data/downloads/complete
name: rclone-data name: hdd
subPath: __all__ subPath: media/transmission/downloads/complete
- mountPath: /mnt
name: mnt
restartPolicy: Always restartPolicy: Always
volumes: volumes:
- name: ssd - name: ssd
@ -55,7 +60,74 @@ spec:
- name: hdd - name: hdd
persistentVolumeClaim: persistentVolumeClaim:
claimName: nfs-hdd-pvc claimName: nfs-hdd-pvc
- name: rclone-data - name: mnt
persistentVolumeClaim: persistentVolumeClaim:
claimName: rclone-data-pvc claimName: mnt-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
keel.sh/policy: minor
keel.sh/trigger: poll
keel.sh/pollSchedule: "@every 6h"
labels:
io.kompose.service: sonarr4k
name: sonarr4k
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: sonarr4k
strategy:
type: Recreate
template:
metadata:
labels:
io.kompose.service: sonarr4k
spec:
nodeSelector:
role: master
containers:
- env:
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: TZ
value: Asia/Kuwait
image: linuxserver/sonarr:latest
name: sonarr
ports:
- containerPort: 8989
protocol: TCP
volumeMounts:
- mountPath: /config
name: ssd
subPath: configs/trackers/sonarr4k_config
- mountPath: /tvshows
name: ssd
subPath: tvshows
- mountPath: /anime
name: ssd
subPath: anime
- mountPath: /HDD
name: hdd
- mountPath: data/downloads/complete
name: hdd
subPath: media/transmission/downloads/complete
- mountPath: /mnt
name: mnt
restartPolicy: Always
volumes:
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc
- name: hdd
persistentVolumeClaim:
claimName: nfs-hdd-pvc
- name: mnt
persistentVolumeClaim:
claimName: mnt-pvc

View file

@ -13,3 +13,19 @@ spec:
selector: selector:
io.kompose.service: sonarr io.kompose.service: sonarr
---
apiVersion: v1
kind: Service
metadata:
labels:
io.kompose.service: sonarr4k
name: sonarr4k
spec:
type: ClusterIP
ports:
- name: "8989"
port: 8989
targetPort: 8989
selector:
io.kompose.service: sonarr4k

View file

@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: rclone-config
data:
rclone.conf: |
[webdav]
type = webdav
url = http://192.168.0.200:30999/dav/
vendor = other

View file

@ -0,0 +1,33 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: zurg
spec:
replicas: 1
selector:
matchLabels:
app: zurg
template:
metadata:
labels:
app: zurg
spec:
containers:
- name: zurg
image: ghcr.io/debridmediamanager/zurg-testing:latest
ports:
- containerPort: 9999
volumeMounts:
- name: ssd
mountPath: /app/jellyfin_update.sh
subPath: configs/zurg/app/jellyfin_update.sh
- name: ssd
mountPath: /app/config.yml
subPath: configs/zurg/app/config.yml
- name: ssd
mountPath: /app/data
subPath: configs/zurg/app/data
volumes:
- name: ssd
persistentVolumeClaim:
claimName: nfs-ssd-pvc

View file

@ -0,0 +1,16 @@
---
apiVersion: v1
kind: Service
metadata:
labels:
app: zurg
name: zurg
spec:
type: NodePort
ports:
- name: "9999"
port: 9999
targetPort: 9999
nodePort: 30999
selector:
app: zurg