add recyclarr

This commit is contained in:
Joseph Hanson 2024-09-05 05:40:23 -05:00
parent aa35771649
commit 9e126bd52e
Signed by: jahanson
SSH key fingerprint: SHA256:vy6dKBECV522aPAwklFM3ReKAVB086rT3oWwiuiFG7o
6 changed files with 345 additions and 0 deletions

View file

@ -20,3 +20,4 @@ resources:
- ./omegabrr/ks.yaml - ./omegabrr/ks.yaml
- ./it-tools/ks.yaml - ./it-tools/ks.yaml
- ./excalidraw/ks.yaml - ./excalidraw/ks.yaml
- ./recyclarr/ks.yaml

View file

@ -0,0 +1,30 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: recyclarr
spec:
secretStoreRef:
kind: ClusterSecretStore
name: onepassword-connect
target:
name: recyclarr-secret
template:
engineVersion: v2
data:
RADARR_API_KEY: "{{ .radarr_api_key }}"
SONARR_API_KEY: "{{ .sonarr_api_key }}"
dataFrom:
- extract:
key: radarr
rewrite:
- regexp:
source: "(.*)"
target: "radarr_$1"
- extract:
key: sonarr
rewrite:
- regexp:
source: "(.*)"
target: "sonarr_$1"

View file

@ -0,0 +1,72 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: recyclarr
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.4.0
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
strategy: rollback
values:
controllers:
recyclarr:
type: cronjob
annotations:
reloader.stakater.com/auto: "true"
cronjob:
schedule: "@daily"
containers:
app:
image:
repository: ghcr.io/recyclarr/recyclarr
tag: 7.2.2@sha256:149eacfb27a51e001c50b60bf6b0eeae15c4dbbde46a1e1d30bf11032ef7f734
env:
# Ref: https://github.com/Radarr/Radarr/issues/7030#issuecomment-1039689518
# Ref: https://github.com/dotnet/runtime/issues/9336
COMPlus_EnableDiagnostics: "0"
TZ: America/Chicago
envFrom:
- secretRef:
name: recyclarr-secret
args: ["sync"]
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
requests:
cpu: 10m
limits:
memory: 128Mi
pod:
securityContext:
runAsUser: 568
runAsGroup: 568
runAsNonRoot: true
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
persistence:
config:
existingClaim: recyclarr
config-file:
type: configMap
name: recyclarr-configmap
globalMounts:
- path: /config/recyclarr.yml
subPath: recyclarr.yml
readOnly: true

View file

@ -0,0 +1,14 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./externalsecret.yaml
- ./helmrelease.yaml
- ../../../../templates/volsync
configMapGenerator:
- name: recyclarr-configmap
files:
- recyclarr.yml=./resources/recyclarr.yml
generatorOptions:
disableNameSuffixHash: true

View file

@ -0,0 +1,200 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/recyclarr/recyclarr/master/schemas/config-schema.json
sonarr:
sonarr:
base_url: http://sonarr.default.svc.cluster.local
api_key: !env_var SONARR_API_KEY
delete_old_custom_formats: true
replace_existing_custom_formats: true
quality_definition:
type: series
quality_profiles:
- name: Web 1080p
reset_unmatched_scores:
enabled: true
upgrade:
allowed: true
until_quality: Web-1080p
until_score: 10000
min_format_score: 0
quality_sort: top
qualities:
- name: Web-1080p
qualities:
- WEBDL-1080p
- WEBRip-1080p
- name: HDTV-1080p
- name: Web-720p
qualities:
- WEBDL-720p
- WEBRip-720p
- name: HDTV-720p
- name: Web-480p
qualities:
- WEBDL-480p
- WEBRip-480p
- name: DVD
- name: SDTV
- name: Web 720p
reset_unmatched_scores:
enabled: true
upgrade:
allowed: true
until_quality: Web-720p
until_score: 10000
min_format_score: 0
quality_sort: top
qualities:
- name: Web-720p
qualities:
- WEBDL-720p
- WEBRip-720p
- name: HDTV-720p
- name: Web-480p
qualities:
- WEBDL-480p
- WEBRip-480p
- name: DVD
- name: SDTV
custom_formats:
- trash_ids:
# Unwanted
- 85c61753df5da1fb2aab6f2a47426b09 # BR-DISK
- 9c11cd3f07101cdba90a2d81cf0e56b4 # LQ
- 47435ece6b99a0b477caf360e79ba0bb # x265 (HD)
- fbcb31d8dabd2a319072b84fc0b7249c # Extras
# Misc
- ec8fa7296b64e8cd390a1600981f3923 # Repack/Proper
- eb3d5cc0a2be0db205fb823640db6a3c # Repack v2
- 44e7c4de10ae50265753082e5dc76047 # Repack v3
# Streaming Services
- d660701077794679fd59e8bdf4ce3a29 # AMZN
- f67c9ca88f463a48346062e8ad07713f # ATVP
- 4e9a630db98d5391aec1368a0256e2fe # CRAV
- 36b72f59f4ea20aad9316f475f2d9fbb # DCU
- 89358767a60cc28783cdc3d0be9388a4 # DSNP
- 7a235133c87f7da4c8cccceca7e3c7a6 # HBO
- a880d6abc21e7c16884f3ae393f84179 # HMAX
- f6cce30f1733d5c8194222a7507909bb # HULU
- 0ac24a2a68a9700bcb7eeca8e5cd644c # iT
- 81d1fbf600e2540cee87f3a23f9d3c1c # MAX
- d34870697c9db575f17700212167be23 # NF
- b2b980877494b560443631eb1f473867 # NLZ
- fb1a91cdc0f26f7ca0696e0e95274645 # OViD
- 1656adc6d7bb2c8cca6acfb6592db421 # PCOK
- c67a75ae4a1715f2bb4d492755ba4195 # PMTP
- 3ac5d84fce98bab1b531393e9c82f467 # QIBI
- c30d2958827d1867c73318a5a2957eb1 # RED
- ae58039e1319178e6be73caab5c42166 # SHO
- 1efe8da11bfd74fbbcd4d8117ddb9213 # STAN
- 5d2317d99af813b6529c7ebf01c83533 # VDL
- 77a7b25585c18af08f60b1547bb9b4fb # CC
# HQ Source Groups
- e6258996055b9fbab7e9cb2f75819294 # WEB Tier 01
- 58790d4e2fdcd9733aa7ae68ba2bb503 # WEB Tier 02
- d84935abd3f8556dcd51d4f27e22d0a6 # WEB Tier 03
- d0c516558625b04b363fa6c5c2c7cfd4 # WEB Scene
quality_profiles:
- name: Web 1080p
- name: Web 720p
radarr:
radarr:
base_url: http://radarr.default.svc.cluster.local
api_key: !env_var RADARR_API_KEY
delete_old_custom_formats: true
replace_existing_custom_formats: true
quality_definition:
type: movie
quality_profiles:
- name: Remux/Web 1080p
reset_unmatched_scores:
enabled: true
upgrade:
allowed: true
until_quality: Remux-1080p
until_score: 10000
min_format_score: 0
quality_sort: top
qualities:
- name: Remux-1080p
- name: Bluray-1080p
enabled: false
- name: Web-1080p
qualities:
- WEBDL-1080p
- WEBRip-1080p
- name: HDTV-1080p
custom_formats:
- trash_ids:
# Audio
- 496f355514737f7d83bf7aa4d24f8169 # TrueHD Atmos
- 2f22d89048b01681dde8afe203bf2e95 # DTS X
- 417804f7f2c4308c1f4c5d380d4c4475 # ATMOS (undefined)
- 1af239278386be2919e1bcee0bde047e # DD+ ATMOS
- 3cafb66171b47f226146a0770576870f # TrueHD
- dcf3ec6938fa32445f590a4da84256cd # DTS-HD MA
- a570d4a0e56a2874b64e5bfa55202a1b # FLAC
- e7c2fcae07cbada050a0af3357491d7b # PCM
- 8e109e50e0a0b83a5098b056e13bf6db # DTS-HD HRA
- 185f1dd7264c4562b9022d963ac37424 # DD+
- f9f847ac70a0af62ea4a08280b859636 # DTS-ES
- 1c1a4c5e823891c75bc50380a6866f73 # DTS
- 240770601cc226190c367ef59aba7463 # AAC
- c2998bd0d90ed5621d8df281e839436e # DD
# Movie Versions
- 0f12c086e289cf966fa5948eac571f44 # Hybrid
- 570bc9ebecd92723d2d21500f4be314c # Remaster
- eca37840c13c6ef2dd0262b141a5482f # 4K Remaster
- e0c07d59beb37348e975a930d5e50319 # Criterion Collection
- 9d27d9d2181838f76dee150882bdc58c # Masters of Cinema
- db9b4c4b53d312a3ca5f1378f6440fc9 # Vinegar Syndrome
- 957d0f44b592285f26449575e8b1167e # Special Edition
- eecf3a857724171f968a66cb5719e152 # IMAX
- 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced
# HQ Release Groups
- 3a3ff47579026e76d6504ebea39390de # Remux Tier 01
- 9f98181fe5a3fbeb0cc29340da2a468a # Remux Tier 02
- 8baaf0b3142bf4d94c42a724f034e27a # Remux Tier 03
- c20f169ef63c5f40c2def54abaf4438e # WEB Tier 01
- 403816d65392c79236dcb6dd591aeda4 # WEB Tier 02
- af94e0fe497124d1f9ce732069ec8c3b # WEB Tier 03
# Misc
- e7718d7a3ce595f289bfee26adc178f5 # Repack/Proper
- ae43b294509409a6a13919dedd4764c4 # Repack2
# Unwanted
- ed38b889b31be83fda192888e2286d83 # BR-DISK
- 90a6f9a284dff5103f6346090e6280c8 # LQ
- dc98083864ea246d05a42df0d05f81cc # x265 (HD)
- b8cd450cbfa689c0259a01d9e29ba3d6 # 3D
# Streaming Services
- cc5e51a9e85a6296ceefe097a77f12f4 # BCORE
- 2a6039655313bf5dab1e43523b62c374 # MA
- 16622a6911d1ab5d5b8b713d5b0036d4 # CRiT
quality_profiles:
- name: Remux/Web 1080p
- trash_ids:
# Streaming Services
- b3b3a6ac74ecbd56bcdbefa4799fb9df # AMZN
- 40e9380490e748672c2522eaaeb692f7 # ATVP
- f6ff65b3f4b464a79dcc75950fe20382 # CRAV
- 84272245b2988854bfb76a16e60baea5 # DSNP
- 509e5f41146e278f9eab1ddaceb34515 # HBO
- 5763d1b0ce84aff3b21038eea8e9b8ad # HMAX
- 526d445d4c16214309f0fd2b3be18a89 # Hulu
- 6a061313d22e51e0f25b7cd4dc065233 # MAX
- 170b1d363bd8516fbf3a3eb05d4faff6 # NF
- fbca986396c5e695ef7b2def3c755d01 # OViD
- bf7e73dd1d85b12cc527dc619761c840 # Pathe
- c9fd353f8f5f1baf56dc601c4cb29920 # PCOK
- e36a0ba1bc902b26ee40818a1d59b8bd # PMTP
- c2863d2a50c9acad1fb50e53ece60817 # STAN
quality_profiles:
- name: Remux/Web 1080p
score: 0

View file

@ -0,0 +1,28 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app recyclarr
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets-stores
- name: volsync
path: ./kubernetes/apps/default/recyclarr/app
prune: true
sourceRef:
kind: GitRepository
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
VOLSYNC_CAPACITY: 1Gi