Compare commits
13 Commits
d2eae4d53b
...
439165eebf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
439165eebf | ||
|
|
0620e3dfed | ||
|
|
6f790bb459 | ||
|
|
a75e483b37 | ||
|
|
b4764ec73f | ||
|
|
6a60cf317e | ||
|
|
92b894a3a1 | ||
|
|
50e28bf184 | ||
| c81eb7273f | |||
| 9393da50ad | |||
| 905809c755 | |||
| 194f9022f5 | |||
| 42e6954479 |
@@ -18,6 +18,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: audiobookshelf
|
alias: audiobookshelf
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/audiobookshelf.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/audiobookshelf.png
|
||||||
appVersion: 2.17.5
|
appVersion: 2.17.5
|
||||||
|
|||||||
@@ -16,6 +16,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: calibre-web-automated
|
alias: calibre-web-automated
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/calibre-web.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/calibre-web.png
|
||||||
appVersion: V2.1.2
|
appVersion: V2.1.2
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ calibre-web-automated:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/calibrain/calibre-web-automated-book-downloader
|
repository: ghcr.io/calibrain/calibre-web-automated-book-downloader
|
||||||
tag: latest@sha256:29757639bff2263a0de383e6b4855b09457e6c5944f41e934247bbb9bec5c8b7
|
tag: latest@sha256:90d16b6d27c054f607a17ad47d99944e474b5957be5a43400e9341af52c5c3f7
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: FLASK_PORT
|
- name: FLASK_PORT
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: code-server
|
alias: code-server
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/code-server.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/code-server.png
|
||||||
appVersion: 4.96.1
|
appVersion: 4.96.1
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ code-server:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/linuxserver/code-server
|
repository: ghcr.io/linuxserver/code-server
|
||||||
tag: 4.96.4@sha256:11f009e81643d28f4527e3aa23f64bcd672be5ec2046be46c84755c82b5ad471
|
tag: 4.97.2@sha256:5c900277e10a8c2868d4db86d0870c94096c9e3140ec9480cb7c47726b9d059c
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: TZ
|
- name: TZ
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: freshrss
|
alias: freshrss
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-17-cluster
|
alias: postgres-17-cluster
|
||||||
version: 4.1.4
|
version: 4.1.4
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: hoarder
|
alias: hoarder
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: meilisearch
|
- name: meilisearch
|
||||||
version: 0.11.0
|
version: 0.12.0
|
||||||
repository: https://meilisearch.github.io/meilisearch-kubernetes
|
repository: https://meilisearch.github.io/meilisearch-kubernetes
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/svg/hoarder.svg
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/svg/hoarder.svg
|
||||||
appVersion: 0.19.0
|
appVersion: 0.19.0
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: homepage
|
alias: homepage
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/homepage.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/homepage.png
|
||||||
appVersion: v0.10.0
|
appVersion: v0.10.0
|
||||||
|
|||||||
@@ -16,6 +16,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: homepage
|
alias: homepage
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/homepage.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/homepage.png
|
||||||
appVersion: v0.10.0
|
appVersion: v0.10.0
|
||||||
|
|||||||
@@ -326,12 +326,6 @@ homepage:
|
|||||||
widget:
|
widget:
|
||||||
type: prometheus
|
type: prometheus
|
||||||
url: http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090
|
url: http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090
|
||||||
- Alerts:
|
|
||||||
icon: sh-prometheus.svg
|
|
||||||
description: Alertmanager
|
|
||||||
href: https://alertmanager-cl01tl.boreal-beaufort.ts.net
|
|
||||||
siteMonitor: http://kube-prometheus-stack-alertmanager.kube-prometheus-stack:9093
|
|
||||||
statusStyle: dot
|
|
||||||
- Tautulli:
|
- Tautulli:
|
||||||
icon: sh-tautulli.svg
|
icon: sh-tautulli.svg
|
||||||
description: Plex Monitoring
|
description: Plex Monitoring
|
||||||
@@ -588,12 +582,6 @@ homepage:
|
|||||||
widget:
|
widget:
|
||||||
type: tdarr
|
type: tdarr
|
||||||
url: http://tdarr-web.tdarr:8265
|
url: http://tdarr-web.tdarr:8265
|
||||||
- Checkrr:
|
|
||||||
icon: sh-healthchecks.png
|
|
||||||
description: Media healthchecks
|
|
||||||
href: https://checkrr-cl01tl.boreal-beaufort.ts.net
|
|
||||||
siteMonitor: http://checkrr.checkrr:80
|
|
||||||
statusStyle: dot
|
|
||||||
- Other Homes:
|
- Other Homes:
|
||||||
- Dev:
|
- Dev:
|
||||||
icon: sh-homepage.png
|
icon: sh-homepage.png
|
||||||
|
|||||||
@@ -22,6 +22,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: jellyfin
|
alias: jellyfin
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/jellyfin.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/jellyfin.png
|
||||||
appVersion: 10.10.3
|
appVersion: 10.10.3
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: jellystat
|
alias: jellystat
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-17-cluster
|
alias: postgres-17-cluster
|
||||||
version: 4.1.4
|
version: 4.1.4
|
||||||
|
|||||||
@@ -16,6 +16,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: kiwix
|
alias: kiwix
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/svg/kiwix-light.svg
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/svg/kiwix-light.svg
|
||||||
appVersion: 3.7.0
|
appVersion: 3.7.0
|
||||||
|
|||||||
@@ -17,6 +17,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: libation
|
alias: libation
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://getlibation.com/images/libation-logo.png
|
icon: https://getlibation.com/images/libation-logo.png
|
||||||
appVersion: 11.6.3
|
appVersion: 11.6.3
|
||||||
|
|||||||
28
clusters/cl01tl/applications/photoview/Chart.yaml
Normal file
28
clusters/cl01tl/applications/photoview/Chart.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: photoview
|
||||||
|
version: 1.0.0
|
||||||
|
description: Photoview
|
||||||
|
keywords:
|
||||||
|
- photoview
|
||||||
|
- pictures
|
||||||
|
home: https://wiki.alexlebens.dev/doc/photoview-WSRscnhpwv
|
||||||
|
sources:
|
||||||
|
- https://github.com/immich-app/immich
|
||||||
|
- https://github.com/valkey-io/valkey
|
||||||
|
- https://github.com/cloudnative-pg/cloudnative-pg
|
||||||
|
- https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
|
||||||
|
- https://github.com/bitnami/charts/tree/main/bitnami/valkey
|
||||||
|
- https://github.com/alexlebens/helm-charts/charts/postgres-cluster
|
||||||
|
maintainers:
|
||||||
|
- name: alexlebens
|
||||||
|
dependencies:
|
||||||
|
- name: app-template
|
||||||
|
alias: photoview
|
||||||
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
|
version: 3.7.1
|
||||||
|
- name: postgres-cluster
|
||||||
|
alias: postgres-17-cluster
|
||||||
|
version: 4.1.4
|
||||||
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/photoview.png
|
||||||
|
appVersion: 2.4.0
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
apiVersion: external-secrets.io/v1beta1
|
||||||
|
kind: ExternalSecret
|
||||||
|
metadata:
|
||||||
|
name: photoview-postgresql-17-cluster-backup-secret
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: photoview-postgresql-17-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: /digital-ocean/home-infra/postgres-backups
|
||||||
|
metadataPolicy: None
|
||||||
|
property: access
|
||||||
|
- secretKey: ACCESS_SECRET_KEY
|
||||||
|
remoteRef:
|
||||||
|
conversionStrategy: Default
|
||||||
|
decodingStrategy: None
|
||||||
|
key: /digital-ocean/home-infra/postgres-backups
|
||||||
|
metadataPolicy: None
|
||||||
|
property: secret
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: photoview-nfs-storage
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: photoview-nfs-storage
|
||||||
|
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: photoview-nfs-storage
|
||||||
|
storageClassName: nfs-client
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: photoview-nfs-storage
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: photoview-nfs-storage
|
||||||
|
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: /volume2/Storage/Pictures
|
||||||
|
server: synologybond.alexlebens.net
|
||||||
|
mountOptions:
|
||||||
|
- vers=4
|
||||||
|
- minorversion=1
|
||||||
|
- noac
|
||||||
115
clusters/cl01tl/applications/photoview/values.yaml
Normal file
115
clusters/cl01tl/applications/photoview/values.yaml
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
photoview:
|
||||||
|
controllers:
|
||||||
|
main:
|
||||||
|
type: deployment
|
||||||
|
replicas: 1
|
||||||
|
strategy: Recreate
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
initContainers:
|
||||||
|
init-chmod-data:
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
image:
|
||||||
|
repository: busybox
|
||||||
|
tag: 1.37.0
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -ec
|
||||||
|
- |
|
||||||
|
/bin/chown -R 999:999 /app/cache
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 128Mi
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: photoview/photoview
|
||||||
|
tag: 2.4.0
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: PHOTOVIEW_DATABASE_DRIVER
|
||||||
|
value: postgres
|
||||||
|
- name: PHOTOVIEW_POSTGRES_URL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: photoview-postgresql-17-cluster-app
|
||||||
|
key: uri
|
||||||
|
- name: PHOTOVIEW_MEDIA_CACHE
|
||||||
|
value: /app/cache
|
||||||
|
- name: PHOTOVIEW_VIDEO_HARDWARE_ACCELERATION
|
||||||
|
value: qsv
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
gpu.intel.com/i915: 1
|
||||||
|
cpu: 10m
|
||||||
|
memory: 512Mi
|
||||||
|
limits:
|
||||||
|
gpu.intel.com/i915: 1
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
controller: main
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
protocol: HTTP
|
||||||
|
ingress:
|
||||||
|
main:
|
||||||
|
enabled: true
|
||||||
|
className: tailscale
|
||||||
|
hosts:
|
||||||
|
- host: photoview-cl01tl
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
name: photoview
|
||||||
|
port: 80
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- photoview-cl01tl
|
||||||
|
persistence:
|
||||||
|
media:
|
||||||
|
existingClaim: photoview-nfs-storage
|
||||||
|
advancedMounts:
|
||||||
|
main:
|
||||||
|
main:
|
||||||
|
- path: /photos
|
||||||
|
readOnly: true
|
||||||
|
cache:
|
||||||
|
storageClass: ceph-block
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 10Gi
|
||||||
|
retain: false
|
||||||
|
advancedMounts:
|
||||||
|
main:
|
||||||
|
init-chmod-data:
|
||||||
|
- path: /app/cache
|
||||||
|
readOnly: false
|
||||||
|
main:
|
||||||
|
- path: /app/cache
|
||||||
|
readOnly: false
|
||||||
|
postgres-17-cluster:
|
||||||
|
mode: recovery
|
||||||
|
cluster:
|
||||||
|
walStorage:
|
||||||
|
storageClass: local-path
|
||||||
|
storage:
|
||||||
|
storageClass: local-path
|
||||||
|
monitoring:
|
||||||
|
enabled: true
|
||||||
|
recovery:
|
||||||
|
endpointURL: https://nyc3.digitaloceanspaces.com
|
||||||
|
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster
|
||||||
|
endpointCredentials: photoview-postgresql-17-cluster-backup-secret
|
||||||
|
backup:
|
||||||
|
enabled: false
|
||||||
|
endpointURL: https://nyc3.digitaloceanspaces.com
|
||||||
|
destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster
|
||||||
|
endpointCredentials: photoview-postgresql-17-cluster-backup-secret
|
||||||
|
backupIndex: 1
|
||||||
|
retentionPolicy: "7d"
|
||||||
@@ -20,6 +20,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: plex
|
alias: plex
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/plex.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/plex.png
|
||||||
appVersion: 1.41.3.9292
|
appVersion: 1.41.3.9292
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: searxng
|
alias: searxng
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: valkey
|
- name: valkey
|
||||||
version: 2.2.3
|
version: 2.2.3
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
|
|||||||
21
clusters/cl01tl/applications/tautulli/Chart.yaml
Normal file
21
clusters/cl01tl/applications/tautulli/Chart.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: tautulli
|
||||||
|
version: 1.0.0
|
||||||
|
description: Tautulli
|
||||||
|
keywords:
|
||||||
|
- tautulli
|
||||||
|
- plex
|
||||||
|
home: https://wiki.alexlebens.dev/doc/tautulli-7FKi7SM33K
|
||||||
|
sources:
|
||||||
|
- https://github.com/Tautulli/Tautulli
|
||||||
|
- https://github.com/Tautulli/Tautulli/pkgs/container/tautulli
|
||||||
|
- https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
|
||||||
|
maintainers:
|
||||||
|
- name: alexlebens
|
||||||
|
dependencies:
|
||||||
|
- name: app-template
|
||||||
|
alias: tautulli
|
||||||
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
|
version: 3.7.1
|
||||||
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/tautulli.png
|
||||||
|
appVersion: v2.15.0
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
# apiVersion: external-secrets.io/v1beta1
|
||||||
|
# kind: ExternalSecret
|
||||||
|
# metadata:
|
||||||
|
# name: tautulli-config-backup-secret
|
||||||
|
# namespace: {{ .Release.Namespace }}
|
||||||
|
# labels:
|
||||||
|
# app.kubernetes.io/name: tautulli-config-backup-secret
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
# app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
|
# app.kubernetes.io/component: backup
|
||||||
|
# app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
# spec:
|
||||||
|
# secretStoreRef:
|
||||||
|
# kind: ClusterSecretStore
|
||||||
|
# name: vault
|
||||||
|
# target:
|
||||||
|
# template:
|
||||||
|
# mergePolicy: Merge
|
||||||
|
# engineVersion: v2
|
||||||
|
# data:
|
||||||
|
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/tautulli/tautulli-config"
|
||||||
|
# data:
|
||||||
|
# - secretKey: BUCKET_ENDPOINT
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: S3_BUCKET_ENDPOINT
|
||||||
|
# - secretKey: RESTIC_PASSWORD
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: RESTIC_PASSWORD
|
||||||
|
# - secretKey: AWS_DEFAULT_REGION
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: AWS_DEFAULT_REGION
|
||||||
|
# - secretKey: AWS_ACCESS_KEY_ID
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /digital-ocean/home-infra/volsync-backups
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: access_key
|
||||||
|
# - secretKey: AWS_SECRET_ACCESS_KEY
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /digital-ocean/home-infra/volsync-backups
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: secret_key
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# apiVersion: volsync.backube/v1alpha1
|
||||||
|
# kind: ReplicationSource
|
||||||
|
# metadata:
|
||||||
|
# name: tautulli-config-backup-source
|
||||||
|
# namespace: {{ .Release.Namespace }}
|
||||||
|
# labels:
|
||||||
|
# app.kubernetes.io/name: tautulli-config-backup-source
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
# app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
|
# app.kubernetes.io/component: backup
|
||||||
|
# app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
# spec:
|
||||||
|
# sourcePVC: tautulli-config
|
||||||
|
# trigger:
|
||||||
|
# schedule: 0 0 */3 * *
|
||||||
|
# restic:
|
||||||
|
# pruneIntervalDays: 14
|
||||||
|
# repository: tautulli-config-backup-secret
|
||||||
|
# retain:
|
||||||
|
# hourly: 1
|
||||||
|
# daily: 1
|
||||||
|
# weekly: 1
|
||||||
|
# monthly: 2
|
||||||
|
# yearly: 4
|
||||||
|
# copyMethod: Snapshot
|
||||||
|
# storageClassName: ceph-block
|
||||||
|
# volumeSnapshotClassName: ceph-blockpool-snapshot
|
||||||
164
clusters/cl01tl/applications/tautulli/values.yaml
Normal file
164
clusters/cl01tl/applications/tautulli/values.yaml
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
tautulli:
|
||||||
|
controllers:
|
||||||
|
main:
|
||||||
|
type: deployment
|
||||||
|
annotations:
|
||||||
|
reloader.stakater.com/auto: "true"
|
||||||
|
replicas: 1
|
||||||
|
strategy: Recreate
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/tautulli/tautulli
|
||||||
|
tag: v2.15.1
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: PUID
|
||||||
|
value: 1001
|
||||||
|
- name: GUID
|
||||||
|
value: 1001
|
||||||
|
- name: TZ
|
||||||
|
value: US/Central
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 128Mi
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
configMaps:
|
||||||
|
scripts:
|
||||||
|
enabled: true
|
||||||
|
data:
|
||||||
|
select_tmdb_poster.py: |
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
Description: Selects the default TMDB poster if no poster is selected
|
||||||
|
or the current poster is from Gracenote.
|
||||||
|
Author: /u/SwiftPanda16
|
||||||
|
Requires: plexapi
|
||||||
|
Usage:
|
||||||
|
* Change the posters for an entire library:
|
||||||
|
python select_tmdb_poster.py --library "Movies"
|
||||||
|
|
||||||
|
* Change the poster for a specific item:
|
||||||
|
python select_tmdb_poster.py --rating_key 1234
|
||||||
|
|
||||||
|
* By default locked posters are skipped. To update locked posters:
|
||||||
|
python select_tmdb_poster.py --library "Movies" --include_locked
|
||||||
|
|
||||||
|
Tautulli script trigger:
|
||||||
|
* Notify on recently added
|
||||||
|
Tautulli script conditions:
|
||||||
|
* Filter which media to select the poster. Examples:
|
||||||
|
[ Media Type | is | movie ]
|
||||||
|
Tautulli script arguments:
|
||||||
|
* Recently Added:
|
||||||
|
--rating_key {rating_key}
|
||||||
|
'''
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import plexapi.base
|
||||||
|
from plexapi.server import PlexServer
|
||||||
|
plexapi.base.USER_DONT_RELOAD_FOR_KEYS.add('fields')
|
||||||
|
|
||||||
|
|
||||||
|
# Environmental Variables
|
||||||
|
PLEX_URL = os.getenv('PLEX_URL')
|
||||||
|
PLEX_TOKEN = os.getenv('PLEX_TOKEN')
|
||||||
|
|
||||||
|
|
||||||
|
def select_tmdb_poster_library(library, include_locked=False):
|
||||||
|
for item in library.all(includeGuids=False):
|
||||||
|
# Only reload for fields
|
||||||
|
item.reload(**{k: 0 for k, v in item._INCLUDES.items()})
|
||||||
|
select_tmdb_poster_item(item, include_locked=include_locked)
|
||||||
|
|
||||||
|
|
||||||
|
def select_tmdb_poster_item(item, include_locked=False):
|
||||||
|
if item.isLocked('thumb') and not include_locked: # PlexAPI 4.5.10
|
||||||
|
print(f"Locked poster for {item.title}. Skipping.")
|
||||||
|
return
|
||||||
|
|
||||||
|
posters = item.posters()
|
||||||
|
selected_poster = next((p for p in posters if p.selected), None)
|
||||||
|
|
||||||
|
if selected_poster is None:
|
||||||
|
print(f"WARNING: No poster selected for {item.title}.")
|
||||||
|
else:
|
||||||
|
skipping = ' Skipping.' if selected_poster.provider != 'gracenote' else ''
|
||||||
|
print(f"Poster provider is '{selected_poster.provider}' for {item.title}.{skipping}")
|
||||||
|
|
||||||
|
if posters and (selected_poster is None or selected_poster.provider == 'gracenote'):
|
||||||
|
# Fallback to first poster if no TMDB posters are available
|
||||||
|
tmdb_poster = next((p for p in posters if p.provider == 'tmdb'), posters[0])
|
||||||
|
# Selecting the poster automatically locks it
|
||||||
|
tmdb_poster.select()
|
||||||
|
print(f"Selected {tmdb_poster.provider} poster for {item.title}.")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('--rating_key', type=int)
|
||||||
|
parser.add_argument('--library')
|
||||||
|
parser.add_argument('--include_locked', action='store_true')
|
||||||
|
opts = parser.parse_args()
|
||||||
|
|
||||||
|
plex = PlexServer(PLEX_URL, PLEX_TOKEN)
|
||||||
|
|
||||||
|
if opts.rating_key:
|
||||||
|
item = plex.fetchItem(opts.rating_key)
|
||||||
|
select_tmdb_poster_item(item, opts.include_locked)
|
||||||
|
elif opts.library:
|
||||||
|
library = plex.library.section(opts.library)
|
||||||
|
select_tmdb_poster_library(library, opts.include_locked)
|
||||||
|
else:
|
||||||
|
print("No --rating_key or --library specified. Exiting.")
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
controller: main
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 80
|
||||||
|
targetPort: 8181
|
||||||
|
protocol: HTTP
|
||||||
|
ingress:
|
||||||
|
tailscale:
|
||||||
|
enabled: true
|
||||||
|
className: tailscale
|
||||||
|
hosts:
|
||||||
|
- host: tautulli-cl01tl
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
name: tautulli
|
||||||
|
port: 80
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- tautulli-cl01tl
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
storageClass: ceph-block
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 5Gi
|
||||||
|
retain: true
|
||||||
|
advancedMounts:
|
||||||
|
main:
|
||||||
|
main:
|
||||||
|
- path: /config
|
||||||
|
readOnly: false
|
||||||
|
scripts:
|
||||||
|
enabled: true
|
||||||
|
type: configMap
|
||||||
|
name: tautulli-scripts
|
||||||
|
advancedMounts:
|
||||||
|
main:
|
||||||
|
main:
|
||||||
|
- path: /config/scripts/select_tmdb_poster.py
|
||||||
|
readOnly: true
|
||||||
|
mountPropagation: None
|
||||||
|
subPath: select_tmdb_poster.py
|
||||||
29
clusters/cl01tl/applications/tdarr/Chart.yaml
Normal file
29
clusters/cl01tl/applications/tdarr/Chart.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: tdarr
|
||||||
|
version: 1.0.0
|
||||||
|
description: Tdarr
|
||||||
|
keywords:
|
||||||
|
- tdarr
|
||||||
|
- video
|
||||||
|
- transcode
|
||||||
|
- healthchecks
|
||||||
|
home: https://wiki.alexlebens.dev/doc/tdarr-DlUb9r2tdL
|
||||||
|
sources:
|
||||||
|
- https://github.com/HaveAGitGat/Tdarr
|
||||||
|
- https://github.com/homeylab/tdarr-exporter
|
||||||
|
- https://github.com/haveagitgat/Tdarr/pkgs/container/tdarr
|
||||||
|
- https://hub.docker.com/r/homeylab/tdarr-exporter
|
||||||
|
- https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
|
||||||
|
- https://github.com/homeylab/helm-charts/tree/main/charts/tdarr-exporter
|
||||||
|
maintainers:
|
||||||
|
- name: alexlebens
|
||||||
|
dependencies:
|
||||||
|
- name: app-template
|
||||||
|
alias: tdarr
|
||||||
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
|
version: 3.7.1
|
||||||
|
- name: tdarr-exporter
|
||||||
|
version: 1.1.6
|
||||||
|
repository: https://homeylab.github.io/helm-charts/
|
||||||
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/tdarr.png
|
||||||
|
appVersion: 2.27.02
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
# apiVersion: external-secrets.io/v1beta1
|
||||||
|
# kind: ExternalSecret
|
||||||
|
# metadata:
|
||||||
|
# name: tdarr-config-backup-secret
|
||||||
|
# namespace: {{ .Release.Namespace }}
|
||||||
|
# labels:
|
||||||
|
# app.kubernetes.io/name: tdarr-config-backup-secret
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
# app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
|
# app.kubernetes.io/component: backup
|
||||||
|
# app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
# spec:
|
||||||
|
# secretStoreRef:
|
||||||
|
# kind: ClusterSecretStore
|
||||||
|
# name: vault
|
||||||
|
# target:
|
||||||
|
# template:
|
||||||
|
# mergePolicy: Merge
|
||||||
|
# engineVersion: v2
|
||||||
|
# data:
|
||||||
|
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/tdarr/tdarr-config"
|
||||||
|
# data:
|
||||||
|
# - secretKey: BUCKET_ENDPOINT
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: S3_BUCKET_ENDPOINT
|
||||||
|
# - secretKey: RESTIC_PASSWORD
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: RESTIC_PASSWORD
|
||||||
|
# - secretKey: AWS_DEFAULT_REGION
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: AWS_DEFAULT_REGION
|
||||||
|
# - secretKey: AWS_ACCESS_KEY_ID
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /digital-ocean/home-infra/volsync-backups
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: access_key
|
||||||
|
# - secretKey: AWS_SECRET_ACCESS_KEY
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /digital-ocean/home-infra/volsync-backups
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: secret_key
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# apiVersion: external-secrets.io/v1beta1
|
||||||
|
# kind: ExternalSecret
|
||||||
|
# metadata:
|
||||||
|
# name: tdarr-server-backup-secret
|
||||||
|
# namespace: {{ .Release.Namespace }}
|
||||||
|
# labels:
|
||||||
|
# app.kubernetes.io/name: tdarr-server-backup-secret
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
# app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
|
# app.kubernetes.io/component: backup
|
||||||
|
# app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
# spec:
|
||||||
|
# secretStoreRef:
|
||||||
|
# kind: ClusterSecretStore
|
||||||
|
# name: vault
|
||||||
|
# target:
|
||||||
|
# template:
|
||||||
|
# mergePolicy: Merge
|
||||||
|
# engineVersion: v2
|
||||||
|
# data:
|
||||||
|
# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/tdarr/tdarr-server"
|
||||||
|
# data:
|
||||||
|
# - secretKey: BUCKET_ENDPOINT
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: S3_BUCKET_ENDPOINT
|
||||||
|
# - secretKey: RESTIC_PASSWORD
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: RESTIC_PASSWORD
|
||||||
|
# - secretKey: AWS_DEFAULT_REGION
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /cl01tl/volsync/restic/config
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: AWS_DEFAULT_REGION
|
||||||
|
# - secretKey: AWS_ACCESS_KEY_ID
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /digital-ocean/home-infra/volsync-backups
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: access_key
|
||||||
|
# - secretKey: AWS_SECRET_ACCESS_KEY
|
||||||
|
# remoteRef:
|
||||||
|
# conversionStrategy: Default
|
||||||
|
# decodingStrategy: None
|
||||||
|
# key: /digital-ocean/home-infra/volsync-backups
|
||||||
|
# metadataPolicy: None
|
||||||
|
# property: secret_key
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: tdarr-nfs-storage
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: tdarr-nfs-storage
|
||||||
|
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: tdarr-nfs-storage
|
||||||
|
storageClassName: nfs-client
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: tdarr-nfs-storage
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: tdarr-nfs-storage
|
||||||
|
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: /volume2/Storage
|
||||||
|
server: synologybond.alexlebens.net
|
||||||
|
mountOptions:
|
||||||
|
- vers=4
|
||||||
|
- minorversion=1
|
||||||
|
- noac
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# apiVersion: volsync.backube/v1alpha1
|
||||||
|
# kind: ReplicationSource
|
||||||
|
# metadata:
|
||||||
|
# name: tdarr-config-backup-source
|
||||||
|
# namespace: {{ .Release.Namespace }}
|
||||||
|
# labels:
|
||||||
|
# app.kubernetes.io/name: tdarr-config-backup-source
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
# app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
|
# app.kubernetes.io/component: backup
|
||||||
|
# app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
# spec:
|
||||||
|
# sourcePVC: tdarr-config
|
||||||
|
# trigger:
|
||||||
|
# schedule: 0 0 */3 * *
|
||||||
|
# restic:
|
||||||
|
# pruneIntervalDays: 14
|
||||||
|
# repository: tdarr-config-backup-secret
|
||||||
|
# retain:
|
||||||
|
# hourly: 1
|
||||||
|
# daily: 1
|
||||||
|
# weekly: 1
|
||||||
|
# monthly: 2
|
||||||
|
# yearly: 4
|
||||||
|
# copyMethod: Snapshot
|
||||||
|
# storageClassName: ceph-block
|
||||||
|
# volumeSnapshotClassName: ceph-blockpool-snapshot
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# apiVersion: volsync.backube/v1alpha1
|
||||||
|
# kind: ReplicationSource
|
||||||
|
# metadata:
|
||||||
|
# name: tdarr-server-backup-source
|
||||||
|
# namespace: {{ .Release.Namespace }}
|
||||||
|
# labels:
|
||||||
|
# app.kubernetes.io/name: tdarr-server-backup-source
|
||||||
|
# app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
# app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||||
|
# app.kubernetes.io/component: backup
|
||||||
|
# app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
# spec:
|
||||||
|
# sourcePVC: tdarr-server
|
||||||
|
# trigger:
|
||||||
|
# schedule: 0 0 */3 * *
|
||||||
|
# restic:
|
||||||
|
# pruneIntervalDays: 14
|
||||||
|
# repository: tdarr-server-backup-secret
|
||||||
|
# retain:
|
||||||
|
# hourly: 1
|
||||||
|
# daily: 1
|
||||||
|
# weekly: 1
|
||||||
|
# monthly: 2
|
||||||
|
# yearly: 4
|
||||||
|
# copyMethod: Snapshot
|
||||||
|
# storageClassName: ceph-block
|
||||||
|
# volumeSnapshotClassName: ceph-blockpool-snapshot
|
||||||
174
clusters/cl01tl/applications/tdarr/values.yaml
Normal file
174
clusters/cl01tl/applications/tdarr/values.yaml
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
tdarr:
|
||||||
|
controllers:
|
||||||
|
server:
|
||||||
|
type: deployment
|
||||||
|
replicas: 1
|
||||||
|
strategy: Recreate
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/haveagitgat/tdarr
|
||||||
|
tag: 2.32.01
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: US/Central
|
||||||
|
- name: PUID
|
||||||
|
value: "1001"
|
||||||
|
- name: PGID
|
||||||
|
value: "1001"
|
||||||
|
- name: UMASK_SET
|
||||||
|
value: "002"
|
||||||
|
- name: ffmpegVersion
|
||||||
|
value: "6"
|
||||||
|
- name: internalNode
|
||||||
|
value: "false"
|
||||||
|
- name: inContainer
|
||||||
|
value: "true"
|
||||||
|
- name: nodeName
|
||||||
|
value: tdarr-server
|
||||||
|
- name: serverIP
|
||||||
|
value: 0.0.0.0
|
||||||
|
- name: serverPort
|
||||||
|
value: "8266"
|
||||||
|
- name: webUIPort
|
||||||
|
value: "8265"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 200m
|
||||||
|
memory: 1Gi
|
||||||
|
node:
|
||||||
|
type: daemonset
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
pod:
|
||||||
|
nodeSelector:
|
||||||
|
intel.feature.node.kubernetes.io/gpu: "true"
|
||||||
|
containers:
|
||||||
|
main:
|
||||||
|
image:
|
||||||
|
repository: ghcr.io/haveagitgat/tdarr_node
|
||||||
|
tag: 2.32.01
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: US/Central
|
||||||
|
- name: PUID
|
||||||
|
value: "1001"
|
||||||
|
- name: PGID
|
||||||
|
value: "1001"
|
||||||
|
- name: UMASK_SET
|
||||||
|
value: "002"
|
||||||
|
- name: ffmpegVersion
|
||||||
|
value: "6"
|
||||||
|
- name: inContainer
|
||||||
|
value: "true"
|
||||||
|
- name: nodeName
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: spec.nodeName
|
||||||
|
- name: serverIP
|
||||||
|
value: tdarr-api
|
||||||
|
- name: serverPort
|
||||||
|
value: "8266"
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
gpu.intel.com/i915: 1
|
||||||
|
cpu: 2000m
|
||||||
|
requests:
|
||||||
|
gpu.intel.com/i915: 1
|
||||||
|
cpu: 10m
|
||||||
|
memory: 512Mi
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
service:
|
||||||
|
api:
|
||||||
|
controller: server
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 8266
|
||||||
|
targetPort: 8266
|
||||||
|
protocol: HTTP
|
||||||
|
web:
|
||||||
|
controller: server
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 8265
|
||||||
|
targetPort: 8265
|
||||||
|
protocol: HTTP
|
||||||
|
ingress:
|
||||||
|
tailscale:
|
||||||
|
enabled: true
|
||||||
|
className: tailscale
|
||||||
|
hosts:
|
||||||
|
- host: tdarr-cl01tl
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
service:
|
||||||
|
name: tdarr-web
|
||||||
|
port: 8265
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- tdarr-cl01tl
|
||||||
|
persistence:
|
||||||
|
config:
|
||||||
|
storageClass: ceph-block
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 50Gi
|
||||||
|
retain: true
|
||||||
|
advancedMounts:
|
||||||
|
server:
|
||||||
|
main:
|
||||||
|
- path: /app/configs
|
||||||
|
readOnly: false
|
||||||
|
server:
|
||||||
|
storageClass: ceph-block
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 50Gi
|
||||||
|
retain: true
|
||||||
|
advancedMounts:
|
||||||
|
server:
|
||||||
|
main:
|
||||||
|
- path: /app/server
|
||||||
|
readOnly: false
|
||||||
|
server-cache:
|
||||||
|
type: emptyDir
|
||||||
|
advancedMounts:
|
||||||
|
server:
|
||||||
|
main:
|
||||||
|
- path: /tcache
|
||||||
|
readOnly: false
|
||||||
|
node-cache:
|
||||||
|
type: emptyDir
|
||||||
|
advancedMounts:
|
||||||
|
node:
|
||||||
|
main:
|
||||||
|
- path: /tcache
|
||||||
|
readOnly: false
|
||||||
|
media:
|
||||||
|
existingClaim: tdarr-nfs-storage
|
||||||
|
advancedMounts:
|
||||||
|
server:
|
||||||
|
main:
|
||||||
|
- path: /mnt/store
|
||||||
|
readOnly: true
|
||||||
|
node:
|
||||||
|
main:
|
||||||
|
- path: /mnt/store
|
||||||
|
readOnly: true
|
||||||
|
tdarr-exporter:
|
||||||
|
image:
|
||||||
|
name: homeylab/tdarr-exporter
|
||||||
|
tag: 1.4.2
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
settings:
|
||||||
|
config:
|
||||||
|
url: http://tdarr-web.tdarr:8265
|
||||||
|
verify_ssl: false
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 256Mi
|
||||||
@@ -18,7 +18,7 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: komodo
|
alias: komodo
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-17-cluster
|
alias: postgres-17-cluster
|
||||||
version: 4.1.4
|
version: 4.1.4
|
||||||
|
|||||||
@@ -41,22 +41,10 @@ kube-prometheus-stack:
|
|||||||
- send_resolved: true
|
- send_resolved: true
|
||||||
user_key_file: /etc/alertmanager/secrets/alertmanager-config-secret/user_key
|
user_key_file: /etc/alertmanager/secrets/alertmanager-config-secret/user_key
|
||||||
token_file: /etc/alertmanager/secrets/alertmanager-config-secret/pushover_token
|
token_file: /etc/alertmanager/secrets/alertmanager-config-secret/pushover_token
|
||||||
ingress:
|
|
||||||
enabled: true
|
|
||||||
ingressClassName: tailscale
|
|
||||||
labels:
|
|
||||||
tailscale.com/proxy-class: no-metrics
|
|
||||||
hosts:
|
|
||||||
- alertmanager-cl01tl
|
|
||||||
tls:
|
|
||||||
- secretName: alertmanager-cl01tl
|
|
||||||
hosts:
|
|
||||||
- alertmanager-cl01tl
|
|
||||||
alertmanagerSpec:
|
alertmanagerSpec:
|
||||||
secrets:
|
secrets:
|
||||||
- alertmanager-config-secret
|
- alertmanager-config-secret
|
||||||
replicas: 1
|
replicas: 1
|
||||||
externalUrl: https://alertmanager-cl01tl.boreal-beaufort.ts.net
|
|
||||||
grafana:
|
grafana:
|
||||||
enabled: false
|
enabled: false
|
||||||
kubeApiServer:
|
kubeApiServer:
|
||||||
|
|||||||
@@ -18,6 +18,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: unpoller
|
alias: unpoller
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://camo.githubusercontent.com/c5d07a5b3acfeac8e1c25bf56f440ffe032b86e4e7f15de82357f022a43fc927/68747470733a2f2f756e706f6c6c65722e636f6d2f696d672f6c6f676f2e706e67
|
icon: https://camo.githubusercontent.com/c5d07a5b3acfeac8e1c25bf56f440ffe032b86e4e7f15de82357f022a43fc927/68747470733a2f2f756e706f6c6c65722e636f6d2f696d672f6c6f676f2e706e67
|
||||||
appVersion: v2.11.2
|
appVersion: v2.11.2
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ dependencies:
|
|||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-17-cluster
|
alias: postgres-17-cluster
|
||||||
version: 4.1.4
|
version: 4.1.4
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ dependencies:
|
|||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared
|
alias: cloudflared
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
# - name: app-template
|
# - name: app-template
|
||||||
# alias: backup
|
# alias: backup
|
||||||
# repository: https://bjw-s.github.io/helm-charts/
|
# repository: https://bjw-s.github.io/helm-charts/
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ backup:
|
|||||||
s3:
|
s3:
|
||||||
image:
|
image:
|
||||||
repository: d3fk/s3cmd
|
repository: d3fk/s3cmd
|
||||||
tag: latest@sha256:ae12ef40440ee069dac63d98a3590da0e02acc56ea4f60e9e4c5353d585a9140
|
tag: latest@sha256:c4a59dc77d2b8e9580579f2b90b8f377485d01741ad8151e0395cb9e4372eac0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: ollama
|
alias: ollama
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-17-cluster
|
alias: postgres-17-cluster
|
||||||
version: 4.1.4
|
version: 4.1.4
|
||||||
|
|||||||
@@ -23,6 +23,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: qbittorrent
|
alias: qbittorrent
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/qbittorrent.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/qbittorrent.png
|
||||||
appVersion: 5.0.2
|
appVersion: 5.0.2
|
||||||
|
|||||||
@@ -17,6 +17,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: unpackerr
|
alias: unpackerr
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://avatars.githubusercontent.com/u/104323643?s=48&v=4
|
icon: https://avatars.githubusercontent.com/u/104323643?s=48&v=4
|
||||||
appVersion: 0.14.5
|
appVersion: 0.14.5
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: snapshot
|
alias: snapshot
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: app-template
|
- name: app-template
|
||||||
alias: unseal
|
alias: unseal
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/vault.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/vault.png
|
||||||
appVersion: 1.18.4
|
appVersion: 1.18.4
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ snapshot:
|
|||||||
backup:
|
backup:
|
||||||
image:
|
image:
|
||||||
repository: d3fk/s3cmd
|
repository: d3fk/s3cmd
|
||||||
tag: latest@sha256:ae12ef40440ee069dac63d98a3590da0e02acc56ea4f60e9e4c5353d585a9140
|
tag: latest@sha256:c4a59dc77d2b8e9580579f2b90b8f377485d01741ad8151e0395cb9e4372eac0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: blocky
|
alias: blocky
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: valkey
|
- name: valkey
|
||||||
version: 2.2.3
|
version: 2.2.3
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
|
|||||||
@@ -18,6 +18,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: kubernetes-cloudflare-ddns
|
alias: kubernetes-cloudflare-ddns
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/cloudflare.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/cloudflare.png
|
||||||
appVersion: "2.0.0"
|
appVersion: "2.0.0"
|
||||||
|
|||||||
@@ -17,6 +17,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: kubelet-serving-cert-approver
|
alias: kubelet-serving-cert-approver
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/kubernetes.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/kubernetes.png
|
||||||
appVersion: 0.8.7
|
appVersion: 0.8.7
|
||||||
|
|||||||
@@ -17,6 +17,6 @@ dependencies:
|
|||||||
- name: app-template
|
- name: app-template
|
||||||
alias: pgadmin4
|
alias: pgadmin4
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/pgadmin.png
|
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/pgadmin.png
|
||||||
appVersion: v8.14
|
appVersion: v8.14
|
||||||
|
|||||||
@@ -35,16 +35,16 @@ dependencies:
|
|||||||
repository: https://ananace.gitlab.io/charts
|
repository: https://ananace.gitlab.io/charts
|
||||||
- name: app-template
|
- name: app-template
|
||||||
alias: matrix-hookshot
|
alias: matrix-hookshot
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
- name: app-template
|
- name: app-template
|
||||||
alias: mautrix-discord
|
alias: mautrix-discord
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: app-template
|
- name: app-template
|
||||||
alias: mautrix-whatsapp
|
alias: mautrix-whatsapp
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
- name: valkey
|
- name: valkey
|
||||||
alias: valkey-synapse
|
alias: valkey-synapse
|
||||||
version: 2.2.3
|
version: 2.2.3
|
||||||
@@ -55,11 +55,11 @@ dependencies:
|
|||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared-synapse
|
alias: cloudflared-synapse
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
- name: cloudflared
|
- name: cloudflared
|
||||||
alias: cloudflared-hookshot
|
alias: cloudflared-hookshot
|
||||||
version: 1.13.0
|
version: 1.14.0
|
||||||
repository: http://alexlebens.github.io/helm-charts
|
repository: http://alexlebens.github.io/helm-charts
|
||||||
- name: postgres-cluster
|
- name: postgres-cluster
|
||||||
alias: postgres-17-cluster
|
alias: postgres-17-cluster
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ maintainers:
|
|||||||
dependencies:
|
dependencies:
|
||||||
- name: app-template
|
- name: app-template
|
||||||
alias: stalwart
|
alias: stalwart
|
||||||
version: 3.6.1
|
version: 3.7.1
|
||||||
repository: https://bjw-s.github.io/helm-charts/
|
repository: https://bjw-s.github.io/helm-charts/
|
||||||
- name: valkey
|
- name: valkey
|
||||||
version: 2.2.3
|
version: 2.2.3
|
||||||
|
|||||||
Reference in New Issue
Block a user