Switch from smb to nfs in caddy, consolidate downloads PVs, nuke longhorn from orbit, added sabnzbd

This commit is contained in:
Mira 2025-12-05 00:06:55 -05:00
parent c0e649b2cb
commit 2962e2e93c
13 changed files with 344 additions and 4708 deletions

View file

@ -105,28 +105,17 @@ metadata:
annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: caddy-data-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadOnlyMany
persistentVolumeReclaimPolicy: Retain
storageClassName: smb
mountOptions:
- dir_mode=0777
- file_mode=0777
# - vers=3.0
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: lipotropin.lan#meta/services/caddy#raid#
volumeAttributes:
source: //192.168.1.146/raid
subDir: 00_meta/02_services/caddy
nodeStageSecretRef:
name: smbcreds
namespace: default
storageClassName: ""
nfs:
server: 192.168.1.146
path: /mnt/raid/00_meta/02_services/caddy
---
apiVersion: v1
kind: PersistentVolumeClaim
@ -139,13 +128,11 @@ spec:
requests:
storage: 100Gi
volumeName: caddy-data-pv
storageClassName: smb
storageClassName: ""
---
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: caddy-config-pv
spec:
capacity:
@ -153,22 +140,10 @@ spec:
accessModes:
- ReadOnlyMany
persistentVolumeReclaimPolicy: Retain
storageClassName: smb
mountOptions:
- dir_mode=0777
- file_mode=0777
# - vers=3.0
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: lipotropin.lan#meta/services_config/caddy#raid#
volumeAttributes:
source: //192.168.1.146/raid
subDir: 00_meta/05_service_config/caddy
nodeStageSecretRef:
name: smbcreds
namespace: default
storageClassName: ""
nfs:
server: 192.168.1.146
path: /mnt/raid/00_meta/05_service_config/caddy
---
apiVersion: v1
kind: PersistentVolumeClaim
@ -181,4 +156,4 @@ spec:
requests:
storage: 100Gi
volumeName: caddy-config-pv
storageClassName: smb
storageClassName: ""

View file

@ -22,7 +22,7 @@ spec:
- name: GITEA__database__DB_TYPE
value: "mysql"
- name: GITEA__database__HOST
value: "192.168.1.146:31306"
value: "mariadb-svc:3306"
- name: GITEA__database__NAME
value: "gitea"
- name: USER_UID
@ -32,12 +32,12 @@ spec:
- name: GITEA__database__USER
valueFrom:
configMapKeyRef:
secretKeyRef:
key: MYSQL_USER
name: mariadb-secrets-env
- name: GITEA__database__PASSWD
valueFrom:
configMapKeyRef:
secretKeyRef:
key: MYSQL_PASSWORD
name: mariadb-secrets-env
ports:

View file

@ -1,25 +0,0 @@
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: longhorn
provisioner: driver.longhorn.io
allowVolumeExpansion: true
parameters:
numberOfReplicas: "1"
staleReplicaTimeout: "2880" # 48 hours in minutes
fromBackup: ""
fsType: "ext4"
# backupTargetName: "default"
# mkfsParams: "-I 256 -b 4096 -O ^metadata_csum,^64bit"
# diskSelector: "ssd,fast"
# nodeSelector: "storage,fast"
# recurringJobSelector: '[
# {
# "name":"snap",
# "isGroup":true,
# },
# {
# "name":"backup",
# "isGroup":false,
# }
# ]'

File diff suppressed because it is too large Load diff

View file

@ -21,17 +21,17 @@ spec:
- env:
- name: MYSQL_PASSWORD
valueFrom:
configMapKeyRef:
secretKeyRef:
key: MYSQL_PASSWORD
name: mariadb-secrets-env
- name: MYSQL_ROOT_PASSWORD
valueFrom:
configMapKeyRef:
secretKeyRef:
key: MYSQL_ROOT_PASSWORD
name: mariadb-secrets-env
- name: MYSQL_USER
valueFrom:
configMapKeyRef:
secretKeyRef:
key: MYSQL_USER
name: mariadb-secrets-env
image: linuxserver/mariadb:latest

View file

@ -45,12 +45,12 @@ spec:
- name: PAPERLESS_DBUSER
valueFrom:
configMapKeyRef:
secretKeyRef:
key: MYSQL_USER
name: mariadb-secrets-env
- name: PAPERLESS_DBPASS
valueFrom:
configMapKeyRef:
secretKeyRef:
key: MYSQL_PASSWORD
name: mariadb-secrets-env
livenessProbe:
@ -132,7 +132,7 @@ spec:
app: tika
spec:
containers:
- image: ghcr.io/paperless-ngx/tika:latest
- image: docker.io/apache/tika:latest
name: paperless-tika
restartPolicy: Always
---

View file

@ -21,12 +21,12 @@ spec:
- env:
- name: POSTGRES_PASSWORD
valueFrom:
configMapKeyRef:
secretKeyRef:
key: POSTGRES_PASSWORD
name: postgres-secrets-env
- name: POSTGRES_USER
valueFrom:
configMapKeyRef:
secretKeyRef:
key: POSTGRES_USER
name: postgres-secrets-env
image: postgres:15-alpine

View file

@ -46,7 +46,7 @@ spec:
ports:
- containerPort: 8080
- name: gluetun
image: qmcgaw/gluetun
image: qmcgaw/gluetun:v3.40.1
env:
- name: VPN_PORT_FORWARDING_UP_COMMAND
value: /bin/sh -c 'wget -O- --retry-connrefused --post-data "json={\"listen_port\":$(echo {{PORTS}} | cut -d, -f1),\"random_port\":false,\"upnp\":false}" http://127.0.0.1:8080/api/v2/app/setPreferences 2>&1'
@ -83,7 +83,7 @@ spec:
claimName: qbittorrent-config-pvc
- name: qbittorrent-downloads-volume
persistentVolumeClaim:
claimName: qbittorrent-downloads-pvc
claimName: downloads-pvc
- name: gluetun-config-volume
persistentVolumeClaim:
claimName: gluetun-config-pvc
@ -168,33 +168,33 @@ spec:
volumeName: qbittorrent-config-pv
storageClassName: ""
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: qbittorrent-downloads-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
nfs:
path: /mnt/raid/00_meta/01_downloads/
server: 192.168.1.146
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qbittorrent-downloads-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeName: qbittorrent-downloads-pv
storageClassName: ""
# apiVersion: v1
# kind: PersistentVolume
# metadata:
# name: qbittorrent-downloads-pv
# spec:
# capacity:
# storage: 100Gi
# accessModes:
# - ReadWriteOnce
# persistentVolumeReclaimPolicy: Retain
# storageClassName: ""
# nfs:
# path: /mnt/raid/00_meta/01_downloads/
# server: 192.168.1.146
# ---
# apiVersion: v1
# kind: PersistentVolumeClaim
# metadata:
# name: qbittorrent-downloads-pvc
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 100Gi
# volumeName: qbittorrent-downloads-pv
# storageClassName: ""
---
apiVersion: v1
kind: PersistentVolume

View file

@ -38,7 +38,7 @@ spec:
claimName: radarr-movies-pvc
- name: radarr-downloads-volume
persistentVolumeClaim:
claimName: radarr-downloads-pvc
claimName: downloads-pvc
---
apiVersion: v1
kind: Service
@ -98,7 +98,7 @@ spec:
apiVersion: v1
kind: PersistentVolume
metadata:
name: radarr-config-pv-nfs
name: radarr-config-pv
spec:
capacity:
storage: 100Gi
@ -113,57 +113,44 @@ spec:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: radarr-config-pvc-nfs
name: radarr-config-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeName: radarr-config-pv-nfs
volumeName: radarr-config-pv
storageClassName: ""
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: radarr-config-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
# volumeName: radarr-config-pv-nfs
storageClassName: longhorn
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: radarr-downloads-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
nfs:
path: /mnt/raid/00_meta/01_downloads/
server: 192.168.1.146
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: radarr-downloads-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeName: radarr-downloads-pv
storageClassName: ""
# apiVersion: v1
# kind: PersistentVolume
# metadata:
# name: radarr-downloads-pv
# spec:
# capacity:
# storage: 100Gi
# accessModes:
# - ReadWriteOnce
# persistentVolumeReclaimPolicy: Retain
# storageClassName: ""
# nfs:
# path: /mnt/raid/00_meta/01_downloads/
# server: 192.168.1.146
# ---
# apiVersion: v1
# kind: PersistentVolumeClaim
# metadata:
# name: radarr-downloads-pvc
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 100Gi
# volumeName: radarr-downloads-pv
# storageClassName: ""
#
---
apiVersion: v1
kind: PersistentVolume

173
sabnzbd.yaml Normal file
View file

@ -0,0 +1,173 @@
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: sabnzbd
name: sabnzbd
spec:
replicas: 1
selector:
matchLabels:
app: sabnzbd
template:
metadata:
labels:
app: sabnzbd
spec:
containers:
- image: linuxserver/sabnzbd:latest
name: sabnzbd
ports:
- containerPort: 8080
protocol: TCP
volumeMounts:
- mountPath: /config/
name: sabnzbd-config-volume
- mountPath: /downloads/
name: sabnzbd-downloads-volume
- mountPath: /tv/
name: sabnzbd-tv-volume
restartPolicy: Always
volumes:
- name: sabnzbd-config-volume
persistentVolumeClaim:
claimName: sabnzbd-config-pvc
- name: sabnzbd-tv-volume
persistentVolumeClaim:
claimName: sabnzbd-tv-pvc
- name: sabnzbd-downloads-volume
persistentVolumeClaim:
claimName: downloads-pvc
---
apiVersion: v1
kind: Service
metadata:
labels:
app: sabnzbd
name: sabnzbd-svc
spec:
ports:
- name: "8080"
port: 8080
targetPort: 8080
nodePort: 31081
type: NodePort
selector:
app: sabnzbd
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sabnzbd-http
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web
spec:
rules:
- host: sabnzbd.reticulum.lan
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sabnzbd-svc
port:
number: 8080
- host: sabnzbd.xn--2dkua.xn--tckwe
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sabnzbd-svc
port:
number: 8080
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: sabnzbd-config-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
nfs:
path: /mnt/raid/00_meta/02_services/sabnzbd
server: 192.168.1.146
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sabnzbd-config-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeName: sabnzbd-config-pv
storageClassName: ""
---
# apiVersion: v1
# kind: PersistentVolume
# metadata:
# name: sabnzbd-downloads-pv
# spec:
# capacity:
# storage: 100Gi
# accessModes:
# - ReadWriteOnce
# persistentVolumeReclaimPolicy: Retain
# storageClassName: ""
# nfs:
# path: /mnt/raid/00_meta/01_downloads/
# server: 192.168.1.146
# ---
# apiVersion: v1
# kind: PersistentVolumeClaim
# metadata:
# name: sabnzbd-downloads-pvc
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 100Gi
# volumeName: sabnzbd-downloads-pv
# storageClassName: ""
#
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: sabnzbd-tv-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
nfs:
path: /mnt/raid/30_media/31_tv/
server: 192.168.1.146
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sabnzbd-tv-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeName: sabnzbd-tv-pv
storageClassName: ""

View file

@ -39,7 +39,7 @@ spec:
claimName: slskd-config-pvc
- name: slskd-downloads-volume
persistentVolumeClaim:
claimName: slskd-downloads-pvc
claimName: downloads-pvc
- name: slskd-music-volume
persistentVolumeClaim:
claimName: slskd-music-pvc
@ -131,33 +131,33 @@ spec:
volumeName: slskd-config-pv
storageClassName: ""
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: slskd-downloads-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
nfs:
path: /mnt/raid/30_media/33_music/
server: 192.168.1.146
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: slskd-downloads-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeName: slskd-downloads-pv
storageClassName: ""
# apiVersion: v1
# kind: PersistentVolume
# metadata:
# name: slskd-downloads-pv
# spec:
# capacity:
# storage: 100Gi
# accessModes:
# - ReadWriteOnce
# persistentVolumeReclaimPolicy: Retain
# storageClassName: ""
# nfs:
# path: /mnt/raid/30_media/33_music/
# server: 192.168.1.146
# ---
# apiVersion: v1
# kind: PersistentVolumeClaim
# metadata:
# name: slskd-downloads-pvc
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 100Gi
# volumeName: slskd-downloads-pv
# storageClassName: ""
---
apiVersion: v1
kind: PersistentVolume

View file

@ -38,7 +38,7 @@ spec:
claimName: sonarr-tv-pvc
- name: sonarr-downloads-volume
persistentVolumeClaim:
claimName: sonarr-downloads-pvc
claimName: downloads-pvc
---
apiVersion: v1
kind: Service
@ -74,7 +74,7 @@ spec:
name: sonarr-svc
port:
number: 8989
- host: sonarr.argentumcation.com
- host: sonarr.xn--2dkua.xn--tckwe
http:
paths:
- path: /
@ -84,7 +84,7 @@ spec:
name: sonarr-svc
port:
number: 8989
- host: sonarr.xn--2dkua.xn--tckwe
- host: sonarr.argentumcation.com
http:
paths:
- path: /
@ -123,34 +123,34 @@ spec:
volumeName: sonarr-config-pv
storageClassName: ""
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: sonarr-downloads-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
nfs:
path: /mnt/raid/00_meta/01_downloads/
server: 192.168.1.146
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sonarr-downloads-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
volumeName: sonarr-downloads-pv
storageClassName: ""
# apiVersion: v1
# kind: PersistentVolume
# metadata:
# name: downloads-pv
# spec:
# capacity:
# storage: 100Gi
# accessModes:
# - ReadWriteOnce
# persistentVolumeReclaimPolicy: Retain
# storageClassName: ""
# nfs:
# path: /mnt/raid/00_meta/01_downloads/
# server: 192.168.1.146
# ---
# apiVersion: v1
# kind: PersistentVolumeClaim
# metadata:
# name: downloads-pvc
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 100Gi
# volumeName: downloads-pv
# storageClassName: ""
#
---
apiVersion: v1
kind: PersistentVolume

View file

@ -0,0 +1,29 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: downloads-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: ""
nfs:
path: /mnt/raid/00_meta/01_downloads/
server: 192.168.1.146
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: downloads-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
volumeName: downloads-pv
storageClassName: ""
---