Complement jellyfin stack

This commit is contained in:
2026-01-16 20:06:50 +00:00
parent c5922b38e4
commit f20172f6a4
5 changed files with 397 additions and 0 deletions

58
k8s/flaresolverr.yaml.in Normal file
View File

@@ -0,0 +1,58 @@
---
apiVersion: v1
kind: Service
metadata:
name: flarsolverr
spec:
selector:
app: flarsolverr
ports:
- name: web
port: 8191
#---
#apiVersion: networking.k8s.io/v1
#kind: Ingress
#metadata:
# name: flarsolverr
# annotations:
# spec.ingressClassName: "nginx"
# cert-manager.io/cluster-issuer: "letsencrypt"
#spec:
# tls:
# - hosts:
# - flarsolverr.{{.domain}}
# secretName: flarsolverr-tls
# rules:
# - host: flarsolverr.{{.domain}}
# http:
# paths:
# - path: /
# pathType: Prefix
# backend:
# service:
# name: flarsolverr
# port:
# number: 9696
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: flarsolverr
labels:
app: flarsolverr
spec:
replicas: 1
selector:
matchLabels:
app: flarsolverr
template:
metadata:
labels:
app: flarsolverr
spec:
containers:
- name: flarsolverr
image: ghcr.io/flaresolverr/flaresolverr:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8191

77
k8s/prowlarr.yaml.in Normal file
View File

@@ -0,0 +1,77 @@
---
apiVersion: v1
kind: Service
metadata:
name: prowlarr
spec:
selector:
app: prowlarr
ports:
- name: web
port: 9696
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: prowlarr
annotations:
spec.ingressClassName: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt"
spec:
tls:
- hosts:
- prowlarr.{{.domain}}
secretName: prowlarr-tls
rules:
- host: prowlarr.{{.domain}}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: prowlarr
port:
number: 9696
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: prowlarr-config
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: prowlarr
labels:
app: prowlarr
spec:
replicas: 1
selector:
matchLabels:
app: prowlarr
template:
metadata:
labels:
app: prowlarr
spec:
containers:
- name: prowlarr
image: lscr.io/linuxserver/prowlarr:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8989
volumeMounts:
- name: prowlarr-config
mountPath: /config
volumes:
- name: prowlarr-config
persistentVolumeClaim:
claimName: prowlarr-config

84
k8s/qbitorrent.yaml.in Normal file
View File

@@ -0,0 +1,84 @@
---
apiVersion: v1
kind: Service
metadata:
name: qbitorrent
spec:
selector:
app: qbitorrent
ports:
- name: web
port: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: qbitorrent
annotations:
spec.ingressClassName: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt"
spec:
tls:
- hosts:
- torrent.{{.domain}}
secretName: qbitorrent-tls
rules:
- host: torrent.{{.domain}}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: qbitorrent
port:
number: 8080
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qbitorrent-config
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: qbitorrent
labels:
app: qbitorrent
spec:
replicas: 1
selector:
matchLabels:
app: qbitorrent
template:
metadata:
labels:
app: qbitorrent
spec:
containers:
- name: qbitorrent
image: lscr.io/linuxserver/qbittorrent:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
volumeMounts:
- name: qbitorrent-data
mountPath: /downloads
- name: qbitorrent-config
mountPath: /config
volumes:
- name: qbitorrent-data
nfs:
path: "/srv/nfs/torrent"
server: "10.42.0.1"
readOnly: false
- name: qbitorrent-config
persistentVolumeClaim:
claimName: qbitorrent-config

89
k8s/radarr.yaml.in Normal file
View File

@@ -0,0 +1,89 @@
---
apiVersion: v1
kind: Service
metadata:
name: radarr
spec:
selector:
app: radarr
ports:
- name: web
port: 7878
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: radarr
annotations:
spec.ingressClassName: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt"
spec:
tls:
- hosts:
- radarr.{{.domain}}
secretName: radarr-tls
rules:
- host: radarr.{{.domain}}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: radarr
port:
number: 7878
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: radarr-config
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: radarr
labels:
app: radarr
spec:
replicas: 1
selector:
matchLabels:
app: radarr
template:
metadata:
labels:
app: radarr
spec:
containers:
- name: radarr
image: lscr.io/linuxserver/radarr:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8989
volumeMounts:
- name: radarr-data
mountPath: /data
- name: radarr-config
mountPath: /config
env:
- name: PUID
value: "0"
- name: PGID
value: "0"
volumes:
- name: radarr-data
nfs:
path: "/srv/nfs"
server: "10.42.0.1"
readOnly: false
- name: radarr-config
persistentVolumeClaim:
claimName: radarr-config

89
k8s/sonarr.yaml.in Normal file
View File

@@ -0,0 +1,89 @@
---
apiVersion: v1
kind: Service
metadata:
name: sonarr
spec:
selector:
app: sonarr
ports:
- name: web
port: 8989
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sonarr
annotations:
spec.ingressClassName: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt"
spec:
tls:
- hosts:
- sonarr.{{.domain}}
secretName: sonarr-tls
rules:
- host: sonarr.{{.domain}}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sonarr
port:
number: 8989
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sonarr-config
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sonarr
labels:
app: sonarr
spec:
replicas: 1
selector:
matchLabels:
app: sonarr
template:
metadata:
labels:
app: sonarr
spec:
containers:
- name: sonarr
image: lscr.io/linuxserver/sonarr:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8989
volumeMounts:
- name: sonarr-data
mountPath: /data
- name: sonarr-config
mountPath: /config
env:
- name: PUID
value: "0"
- name: PGID
value: "0"
volumes:
- name: sonarr-data
nfs:
path: "/srv/nfs"
server: "10.42.0.1"
readOnly: false
- name: sonarr-config
persistentVolumeClaim:
claimName: sonarr-config