liveliness probes for a bunch of stuff + tdarr implementation and

soulseek (slskd+soularr) integration
This commit is contained in:
2025-01-16 22:22:53 +01:00
parent 9e474d7dc3
commit df37edbd0d
18 changed files with 352 additions and 27 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
.secret/*
*/.secret

View File

@@ -17,14 +17,22 @@ spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.114
server: 192.168.0.99
path: /mnt/test1/media/
- name: config
persistentVolumeClaim:
claimName: config-bazarr
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/bazarr
containers:
- name: bazarr
image: ghcr.io/hotio/bazarr:latest
livenessProbe:
httpGet:
path: /
port: 6767
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 10
env:
- name: PUID
value: "1000"

View File

@@ -17,6 +17,13 @@ spec:
containers:
- name: flaresolverr
image: ghcr.io/flaresolverr/flaresolverr:latest
livenessProbe:
httpGet:
path: /
port: 8191
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 10
env:
- name: LOG_LEVEL
value: info

View File

@@ -1,9 +1,40 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: main-ingress
spec:
rules:
- host: "truenas.local"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: svc-truenas
port:
number: 443
- host: "tdarr.local"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: svc-tdarr
port:
number: 80
- host: "slskd.local"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: svc-slskd
port:
number: 80
- host: "bazarr.local"
http:
paths:

View File

@@ -17,13 +17,21 @@ spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.114
server: 192.168.0.99
path: /mnt/test1/media/
- name: config
persistentVolumeClaim:
claimName: config-lidarr
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/lidarr
containers:
- name: lidarr
livenessProbe:
httpGet:
path: /ping
port: 8686
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 10
image: ghcr.io/hotio/lidarr:latest
env:
- name: PUID

View File

@@ -17,17 +17,23 @@ spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.114
server: 192.168.0.99
path: /mnt/test1/media/
- name: transcode
persistentVolumeClaim:
claimName: transcode-plex
- name: config
persistentVolumeClaim:
claimName: config-plex
nfs:
path: /mnt/test1/media/config/plex
server: 192.168.0.99
containers:
- name: plex
image: ghcr.io/hotio/plex:latest
livenessProbe:
httpGet:
path: /identity
port: 32400
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 10
env:
- name: PUID
value: "1000"
@@ -51,8 +57,6 @@ spec:
volumeMounts:
- name: config
mountPath: /config
- name: transcode
mountPath: /transcode
- name: nfs-vol
mountPath: /media

View File

@@ -10,5 +10,17 @@ spec:
protocol: TCP
port: 80
targetPort: 32400
---
apiVersion: v1
kind: Service
metadata:
name: svc-plex-lb
spec:
type: NodePort
selector:
app.kubernetes.io/name: plex
ports:
- name: plex
protocol: TCP
port: 32400

View File

@@ -16,11 +16,19 @@ spec:
spec:
volumes:
- name: config
persistentVolumeClaim:
claimName: config-prowlarr
nfs:
path: /mnt/test1/media/config/prowlarr
server: 192.168.0.99
containers:
- name: prowlarr
image: ghcr.io/hotio/prowlarr:latest
livenessProbe:
httpGet:
path: /ping
port: 9696
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 3
env:
- name: PUID
value: "1000"

BIN
k8s_manifests/pvc/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,9 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: transcode-tdarr
spec:
accessModes: [ReadWriteOnce]
resources: { requests: { storage: 16Gi } }

View File

@@ -17,14 +17,23 @@ spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.114
server: 192.168.0.99
path: /mnt/test1/media/
- name: config
persistentVolumeClaim:
claimName: config-qbittorrent
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/qbittorrent/
containers:
- name: qbittorrent
image: ghcr.io/hotio/qbittorrent:latest
livenessProbe: #untested
httpGet:
path: /
port: 8080
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 10
env:
- name: PUID
value: "1000"

View File

@@ -17,14 +17,22 @@ spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.114
server: 192.168.0.99
path: /mnt/test1/media/
- name: config
persistentVolumeClaim:
claimName: config-radarr
nfs:
server: 192.168.0.99
path: /mnt/test1/media/
containers:
- name: radarr
image: ghcr.io/hotio/radarr:latest
livenessProbe:
httpGet:
path: /ping
port: 7878
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 10
env:
- name: PUID
value: "1000"

View File

@@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: slskd
labels:
app.kubernetes.io/name: slskd
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: slskd
template:
metadata:
labels:
app.kubernetes.io/name: slskd
spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.99
path: /mnt/test1/media/Music
- name: config
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/slskd/
containers:
- name: slskd
image: slskd/slskd:latest
env:
- name: SLSKD_REMOTE_CONFIGURATION
value: "true"
ports:
- containerPort: 5030
- containerPort: 5031
- containerPort: 50300
volumeMounts:
- name: config
mountPath: /config
- name: nfs-vol
mountPath: /app

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: svc-slskd
spec:
selector:
app.kubernetes.io/name: slskd
ports:
- name: webui
protocol: TCP
port: 80
targetPort: 5030

View File

@@ -17,14 +17,22 @@ spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.114
server: 192.168.0.99
path: /mnt/test1/media/
- name: config
persistentVolumeClaim:
claimName: config-sonarr
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/sonarr/
containers:
- name: sonarr
image: ghcr.io/hotio/sonarr:latest
livenessProbe:
httpGet:
path: /ping
port: 8989
initialDelaySeconds: 60
failureThreshold: 6
periodSeconds: 10
env:
- name: PUID
value: "1000"

View File

@@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: soularr
labels:
app.kubernetes.io/name: soularr
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: soularr
template:
metadata:
labels:
app.kubernetes.io/name: soularr
spec:
volumes:
- name: nfs-vol
nfs:
server: 192.168.0.99
path: /mnt/test1/media/Music
- name: config
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/soularr/
containers:
- name: soularr
image: mrusse08/soularr:latest
#livenessProbe:
#httpGet:
# path: /
# port: 8989
#initialDelaySeconds: 60
#failureThreshold: 6
#periodSeconds: 10
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: UMASK
value: "002"
- name: SCRIPT_INTERVAL
value: "300"
- name: TZ
value: "Etc/UTC"
volumeMounts:
- name: config
mountPath: /data
- name: nfs-vol
mountPath: /media

View File

@@ -0,0 +1,87 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: tdarr
labels:
app.kubernetes.io/name: tdarr
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: tdarr
template:
metadata:
labels:
app.kubernetes.io/name: tdarr
spec:
volumes:
#- name: transcode
# persistentVolumeClaim:
# claimName: transcode-tdarr
- name: nfs-vol
nfs:
server: 192.168.0.99
path: /mnt/test1/media/
- name: server
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/tdarr/server
- name: configs
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/tdarr/configs
- name: logs
nfs:
server: 192.168.0.99
path: /mnt/test1/media/config/tdarr/logs
containers:
- name: tdarr
image: ghcr.io/haveagitgat/tdarr:latest
#TODO
# livenessProbe:
# httpGet:
# path: /ping
# port: 8989
# initialDelaySeconds: 60
# failureThreshold: 6
# periodSeconds: 10
env:
- name: serverIP
value: "0.0.0.0"
- name: serverPort
value: "8266"
- name: webUIPort
value: "8265"
- name: internalNode
value: "true"
- name: inContainer
value: "true"
- name: ffmpegVersion
value: "6"
- name: nodeName
value: "myInternalNode"
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: UMASK
value: "002"
- name: TZ
value: "Etc/UTC"
ports:
- containerPort: 8265
- containerPort: 8266
volumeMounts:
- name: configs
mountPath: /app/configs
- name: logs
mountPath: /app/logs
- name: server
mountPath: /app/server
- name: nfs-vol
mountPath: /media
#- name: transcode
# mountPath: /temp

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: svc-tdarr
spec:
selector:
app.kubernetes.io/name: tdarr
ports:
- name: webui
protocol: TCP
port: 80
targetPort: 8265
- name: server
protocol: TCP
port: 8266
targetPort: 8266