debrid syslinks base
This commit is contained in:
parent
9c71ae33ec
commit
ffc9d0ebd1
18 changed files with 608 additions and 232 deletions
26
alaskarTV/alaskarfin/copyConfig.sh
Executable file
26
alaskarTV/alaskarfin/copyConfig.sh
Executable 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
|
||||||
|
|
86
alaskarTV/alaskarfin/deployment-worker.yaml
Normal file
86
alaskarTV/alaskarfin/deployment-worker.yaml
Normal 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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
||||||
---
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -9,30 +9,9 @@ spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteMany
|
- ReadWriteMany
|
||||||
persistentVolumeReclaimPolicy: Retain
|
persistentVolumeReclaimPolicy: Retain
|
||||||
csi:
|
nfs:
|
||||||
driver: nfs.csi.k8s.io
|
server: 192.168.0.200
|
||||||
volumeHandle: nfs-ssd
|
path: /SSD/media
|
||||||
volumeAttributes:
|
|
||||||
server: 192.168.0.200
|
|
||||||
share: /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
|
server: 192.168.0.200
|
||||||
volumeHandle: nfs-hdd
|
path: /HDD
|
||||||
volumeAttributes:
|
|
||||||
server: 192.168.0.200
|
|
||||||
share: /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: ""
|
||||||
|
---
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
11
alaskarTV/zurg/configMap.yml
Normal file
11
alaskarTV/zurg/configMap.yml
Normal 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
|
||||||
|
|
33
alaskarTV/zurg/deployment.yml
Normal file
33
alaskarTV/zurg/deployment.yml
Normal 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
|
16
alaskarTV/zurg/service.yml
Normal file
16
alaskarTV/zurg/service.yml
Normal 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
|
Loading…
Reference in a new issue