sonarr
This commit is contained in:
7
sonarr/kustomization.yaml
Normal file
7
sonarr/kustomization.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- main.yaml
|
||||||
|
- pv.yaml
|
||||||
142
sonarr/main.yaml
Normal file
142
sonarr/main.yaml
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: sonarr
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: sonarr
|
||||||
|
app.kubernetes.io/version: v3.0.8.1507
|
||||||
|
helm.sh/chart: sonarr-16.3.2
|
||||||
|
name: sonarr
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 8989
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: http
|
||||||
|
selector:
|
||||||
|
app.kubernetes.io/instance: sonarr
|
||||||
|
app.kubernetes.io/name: sonarr
|
||||||
|
type: ClusterIP
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: sonarr
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: sonarr
|
||||||
|
app.kubernetes.io/version: v3.0.8.1507
|
||||||
|
helm.sh/chart: sonarr-16.3.2
|
||||||
|
name: sonarr-config
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
|
storageClassName: openebs-3-replicas
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: sonarr
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: sonarr
|
||||||
|
app.kubernetes.io/version: v3.0.8.1507
|
||||||
|
helm.sh/chart: sonarr-16.3.2
|
||||||
|
name: sonarr-media
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
storageClassName: nfs-storage
|
||||||
|
volumeName: nfs-media-radarr
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: sonarr
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: sonarr
|
||||||
|
app.kubernetes.io/version: v3.0.8.1507
|
||||||
|
helm.sh/chart: sonarr-16.3.2
|
||||||
|
name: sonarr
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: sonarr
|
||||||
|
app.kubernetes.io/name: sonarr
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/instance: sonarr
|
||||||
|
app.kubernetes.io/name: sonarr
|
||||||
|
spec:
|
||||||
|
automountServiceAccountToken: true
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: PGID
|
||||||
|
value: "1000"
|
||||||
|
- name: PUID
|
||||||
|
value: "1000"
|
||||||
|
- name: TZ
|
||||||
|
value: UTC
|
||||||
|
image: lscr.io/linuxserver/sonarr:4.0.146
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /usr/bin/env
|
||||||
|
- bash
|
||||||
|
- -c
|
||||||
|
- curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while
|
||||||
|
read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done <
|
||||||
|
/config/config.xml`
|
||||||
|
failureThreshold: 5
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 10
|
||||||
|
name: sonarr
|
||||||
|
ports:
|
||||||
|
- containerPort: 8989
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 0
|
||||||
|
periodSeconds: 10
|
||||||
|
tcpSocket:
|
||||||
|
port: 8989
|
||||||
|
timeoutSeconds: 1
|
||||||
|
startupProbe:
|
||||||
|
failureThreshold: 30
|
||||||
|
initialDelaySeconds: 0
|
||||||
|
periodSeconds: 5
|
||||||
|
tcpSocket:
|
||||||
|
port: 8989
|
||||||
|
timeoutSeconds: 1
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /config
|
||||||
|
name: config
|
||||||
|
- mountPath: /media
|
||||||
|
name: media
|
||||||
|
dnsPolicy: ClusterFirst
|
||||||
|
enableServiceLinks: true
|
||||||
|
serviceAccountName: default
|
||||||
|
volumes:
|
||||||
|
- name: config
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: sonarr-config
|
||||||
|
- name: media
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: sonarr-media
|
||||||
17
sonarr/pv.yaml
Normal file
17
sonarr/pv.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: nfs-media-sonarr
|
||||||
|
spec:
|
||||||
|
storageClassName: nfs-storage
|
||||||
|
capacity:
|
||||||
|
storage: 1Gi # Beachte: NFS ist dynamisch, die Größe ist nur ein Label
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany # Mehrere Pods können es gleichzeitig nutzen
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
nfs:
|
||||||
|
path: /mnt/volume1/media # Der Pfad der NFS-Freigabe auf der NAS
|
||||||
|
server: 192.168.10.1 # Die IP-Adresse deiner NAS
|
||||||
|
mountOptions:
|
||||||
|
- nfsvers=4 # Passe ggf. an (nfsvers=3 falls nötig)
|
||||||
12
sonarr/src/kustomization.yaml
Normal file
12
sonarr/src/kustomization.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
helmCharts:
|
||||||
|
- name: sonarr
|
||||||
|
repo: https://k8s-at-home.com/charts/
|
||||||
|
version: 16.3.2
|
||||||
|
releaseName: sonarr
|
||||||
|
includeCRDs: true
|
||||||
|
namespace: sonarr
|
||||||
|
valuesFile: values.yaml
|
||||||
118
sonarr/src/values.yaml
Normal file
118
sonarr/src/values.yaml
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
#
|
||||||
|
# IMPORTANT NOTE
|
||||||
|
#
|
||||||
|
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||||
|
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||||
|
#
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: lscr.io/linuxserver/sonarr
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag: 4.0.146
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- environment variables.
|
||||||
|
# @default -- See below
|
||||||
|
env:
|
||||||
|
# -- Set the container timezone
|
||||||
|
TZ: UTC
|
||||||
|
PUID: 1000
|
||||||
|
PGID: 1000
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 8989
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# -- Configures the probes for the main Pod.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
enabled: true
|
||||||
|
## Set this to true if you wish to specify your own livenessProbe
|
||||||
|
custom: true
|
||||||
|
## The spec field contains the values for the default livenessProbe.
|
||||||
|
## If you selected custom: true, this field holds the definition of the livenessProbe.
|
||||||
|
spec:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- /usr/bin/env
|
||||||
|
- bash
|
||||||
|
- -c
|
||||||
|
- curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while
|
||||||
|
read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml`
|
||||||
|
failureThreshold: 5
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 10
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
## Config persistence is required for the Prometheus exporter sidecar.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
enabled: true
|
||||||
|
storageClass: openebs-3-replicas
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 5Gi
|
||||||
|
|
||||||
|
media:
|
||||||
|
enabled: true
|
||||||
|
mountPath: /media
|
||||||
|
storageClass: nfs-storage
|
||||||
|
volumeName: nfs-media-radarr
|
||||||
|
accessMode: ReadWriteMany
|
||||||
|
size: 1Gi
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
# -- Enable and configure Exportarr sidecar and Prometheus serviceMonitor.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
enabled: false
|
||||||
|
serviceMonitor:
|
||||||
|
interval: 3m
|
||||||
|
scrapeTimeout: 1m
|
||||||
|
labels: {}
|
||||||
|
# -- Enable and configure Prometheus Rules for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
prometheusRule:
|
||||||
|
enabled: false
|
||||||
|
labels: {}
|
||||||
|
# -- Configure additionial rules for the chart under this key.
|
||||||
|
# @default -- See prometheusrules.yaml
|
||||||
|
rules: []
|
||||||
|
# - alert: SonarrDown
|
||||||
|
# annotations:
|
||||||
|
# description: Sonarr service is down.
|
||||||
|
# summary: Sonarr is down.
|
||||||
|
# expr: |
|
||||||
|
# sonarr_system_status == 0
|
||||||
|
# for: 5m
|
||||||
|
# labels:
|
||||||
|
# severity: critical
|
||||||
|
exporter:
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: ghcr.io/onedr0p/exportarr
|
||||||
|
# -- image tag
|
||||||
|
tag: v1.0.0
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
# -- metrics port
|
||||||
|
port: 9794
|
||||||
|
# -- Set to true to enable gathering of additional metrics (slow)
|
||||||
|
additionalMetrics: false
|
||||||
|
# -- Set to true to enable gathering unknown queue items
|
||||||
|
unknownQueueItems: false
|
||||||
Reference in New Issue
Block a user