add readarr

This commit is contained in:
2024-06-14 19:21:52 -05:00
parent 5c0cce10c7
commit 8183e0b932
6 changed files with 208 additions and 0 deletions

View File

@@ -536,6 +536,12 @@ homepage:
url: http://lidarr2.lidarr2:8686
key: {{ "{{HOMEPAGE_VAR_LIDARR_KEY}}" }}
fields: ["wanted", "queued", "artists"]
- Readarr - Books:
icon: readarr.png
description: Books
href: https://readarr-books.alexlebens.net
siteMonitor: http://readarr-books.readarr-books:8686
statusStyle: dot
- Lazy Librarian:
icon: lazylibrarian.png
description: Books

View File

@@ -0,0 +1,16 @@
apiVersion: v2
name: readarr-books
version: 1.0.0
sources:
- https://github.com/Readarr/Readarr
- https://github.com/k8s-home-lab/helm-charts/tree/master/charts/stable/readarr
- https://github.com/alexlebens/helm-charts/charts/postgres-cluster
dependencies:
- name: readarr
version: 7.1.2
repository: https://k8s-home-lab.github.io/helm-charts/
- name: postgres-cluster
alias: postgres-16-cluster
version: 3.1.0
repository: http://alexlebens.github.io/helm-charts
appVersion: 0.3.3.2171

View File

@@ -0,0 +1,30 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: readarr-books-postgresql-16-cluster-backup-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: readarr-books-postgresql-16-cluster-backup-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: database
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /aws/keys/cl01tl-readarr-postgresql
metadataPolicy: None
property: access_key
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /aws/keys/cl01tl-readarr-postgresql
metadataPolicy: None
property: secret_key

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: "{{ .Release.Name }}-nfs-storage"
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeName: "{{ .Release.Name }}-nfs-storage"
storageClassName: nfs-client
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,25 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: "{{ .Release.Name }}-nfs-storage"
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: storage
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-client
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: {{ .Values.persistence.media.nfsPath }}
server: {{ .Values.persistence.media.nfsServer }}
mountOptions:
- vers=4
- minorversion=1
- noac

View File

@@ -0,0 +1,112 @@
readarr:
image:
repository: ghcr.io/onedr0p/readarr-develop
tag: "0.3.22.2499"
env:
TZ: US/Central
READARR__POSTGRES_MAIN_DB: readarr-main
READARR__POSTGRES_LOG_DB: readarr-log
READARR__POSTGRES_CACHE_DB: readarr-cache
READARR__POSTGRES_HOST:
valueFrom:
secretKeyRef:
name: postgresql-readarr-books-cluster-app
key: host
READARR__POSTGRES_PORT:
valueFrom:
secretKeyRef:
name: postgresql-readarr-books-cluster-app
key: port
READARR__POSTGRES_USER:
valueFrom:
secretKeyRef:
name: postgresql-readarr-books-cluster-app
key: user
READARR__POSTGRES_PASSWORD:
valueFrom:
secretKeyRef:
name: postgresql-readarr-books-cluster-app
key: password
ingress:
main:
enabled: true
ingressClassName: traefik
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
cert-manager.io/cluster-issuer: letsencrypt-issuer
hosts:
- host: readarr-books.alexlebens.net
paths:
- path: /
pathType: Prefix
tls:
- secretName: readarr-books-secret-tls
hosts:
- readarr-books.alexlebens.net
persistence:
config:
enabled: true
mountPath: /config
accessMode: ReadWriteOnce
size: 20Gi
media:
enabled: true
mountPath: /mnt/store
type: pvc
existingClaim: readarr-books-nfs-storage
podSecurityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 2000
fsGroupChangePolicy: "OnRootMismatch"
supplementalGroups:
- 44
- 100
- 109
- 65539
metrics:
enabled: true
prometheusRule:
enabled: true
rules:
- alert: ReadarrBooksDown
annotations:
description: Readarr Books service is down.
summary: Readarr Books is down.
expr: |
readarr_books_system_status == 0
for: 5m
labels:
severity: critical
exporter:
image:
repository: ghcr.io/onedr0p/exportarr
tag: v2.0.1
persistence:
media:
nfsPath: /volume2/Storage
nfsServer: synologybond.alexlebens.net
postgres-cluster:
mode: standalone
cluster:
walStorage:
storageClass: local-path
storage:
storageClass: local-path
monitoring:
enabled: true
initdb:
database: app
owner: app
postInitApplicationSQL:
- CREATE DATABASE "readarr-main" OWNER "app";
- CREATE DATABASE "readarr-log" OWNER "app";
- CREATE DATABASE "readarr-cache" OWNER app;
backup:
enabled: false
endpointURL: https://s3.us-east-2.amazonaws.com
destinationPath: s3://cl01tl-postgresql-backups/readarr-books
endpointCredentials: readarr-books-postgresql-16-cluster-backup-secret
backupIndex: 1
retentionPolicy: 14d