migration to next
This commit is contained in:
		@@ -1,23 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: audiobookshelf
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Audiobookshelf
 | 
			
		||||
keywords:
 | 
			
		||||
  - audiobookshelf
 | 
			
		||||
  - books
 | 
			
		||||
  - podcasts
 | 
			
		||||
  - audiobooks
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/audiobookshelf-uNciuFjzDw
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/advplyr/audiobookshelf
 | 
			
		||||
  - https://github.com/advplyr/audiobookshelf/pkgs/container/audiobookshelf
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: audiobookshelf
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/audiobookshelf.png
 | 
			
		||||
appVersion: 2.17.5
 | 
			
		||||
@@ -1,116 +0,0 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: audiobookshelf-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: audiobookshelf-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 }}` }}/audiobookshelf/audiobookshelf-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: audiobookshelf-metadata-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: audiobookshelf-metadata-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 }}` }}/audiobookshelf/audiobookshelf-metadata"
 | 
			
		||||
#   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
 | 
			
		||||
@@ -1,40 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: audiobookshelf-nfs-storage-backup
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: audiobookshelf-nfs-storage-backup
 | 
			
		||||
    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:
 | 
			
		||||
  volumeMode: Filesystem
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteOnce
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: audiobookshelf-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: audiobookshelf-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: audiobookshelf-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: audiobookshelf-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: audiobookshelf-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
 | 
			
		||||
@@ -1,56 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: audiobookshelf-config-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: audiobookshelf-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: audiobookshelf-config
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: audiobookshelf-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: audiobookshelf-metadata-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: audiobookshelf-metadata-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: audiobookshelf-metadata
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: audiobookshelf-metadata-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,80 +0,0 @@
 | 
			
		||||
audiobookshelf:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/advplyr/audiobookshelf
 | 
			
		||||
            tag: 2.19.5
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 80
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: audiobookshelf-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: audiobookshelf
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - audiobookshelf-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 2Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    metadata:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 10Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /metadata
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    backup:
 | 
			
		||||
      existingClaim: audiobookshelf-nfs-storage-backup
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /metadata/backups
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    audiobooks:
 | 
			
		||||
      existingClaim: audiobookshelf-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store/
 | 
			
		||||
              readOnly: false
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: calibre-web-automated
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Calibre Web Automated
 | 
			
		||||
keywords:
 | 
			
		||||
  - calibre-web-automated
 | 
			
		||||
  - books
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/calibre-web-automated-1SMf1jPFsb
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/crocodilestick/Calibre-Web-Automator
 | 
			
		||||
  - https://hub.docker.com/r/crocodilestick/calibre-web-automated
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: calibre-web-automated
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/calibre-web.png
 | 
			
		||||
appVersion: V2.1.2
 | 
			
		||||
@@ -1,82 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: calibre-web-automated-gmail-config
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: calibre-web-automated-gmail-config
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: gmail.json
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/calibre-web/gmail
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: gmail.json
 | 
			
		||||
 | 
			
		||||
# ---
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: calibre-web-automated-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: calibre-web-automated-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 }}` }}/calibre-web-automated/calibre-web-automated-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
 | 
			
		||||
@@ -1,40 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: calibre-web-automated-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: calibre-web-automated-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: calibre-web-automated-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: calibre-web-automated-ingest-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: calibre-web-automated-ingest-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: calibre-web-automated-ingest-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,52 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: calibre-web-automated-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: calibre-web-automated-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/Calibre
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: calibre-web-automated-ingest-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: calibre-web-automated-ingest-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/Calibre Import
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: calibre-web-automated-config-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: calibre-web-automated-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: calibre-web-automated-config
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: calibre-web-automated-config-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     moverSecurityContext:
 | 
			
		||||
#       runAsUser: 1000
 | 
			
		||||
#       runAsGroup: 100
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,155 +0,0 @@
 | 
			
		||||
calibre-web-automated:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: crocodilestick/calibre-web-automated
 | 
			
		||||
            tag: V3.0.4
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 100
 | 
			
		||||
            - name: DOCKER_MODS
 | 
			
		||||
              value: lscr.io/linuxserver/mods:universal-calibre-v7.23.0
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
    downloader:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/calibrain/calibre-web-automated-book-downloader
 | 
			
		||||
            tag: latest@sha256:90d16b6d27c054f607a17ad47d99944e474b5957be5a43400e9341af52c5c3f7
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: FLASK_PORT
 | 
			
		||||
              value: 8084
 | 
			
		||||
            - name: UID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: GID
 | 
			
		||||
              value: 100
 | 
			
		||||
            - name: USE_CF_BYPASS
 | 
			
		||||
              value: true
 | 
			
		||||
            - name: CLOUDFLARE_PROXY_URL
 | 
			
		||||
              value: http://localhost:8000
 | 
			
		||||
            - name: INGEST_DIR
 | 
			
		||||
              value: /cwa-book-ingest
 | 
			
		||||
            - name: BOOK_LANGUAGE
 | 
			
		||||
              value: end
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
        bypass:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/sarperavci/cloudflarebypassforscraping
 | 
			
		||||
            tag: latest@sha256:e937223b9321168efec4ce4b60958d399b6dde37791ea6dc67d05b057c0f167e
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 8083
 | 
			
		||||
          targetPort: 8083
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
    downloader:
 | 
			
		||||
      controller: downloader
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 8084
 | 
			
		||||
          targetPort: 8084
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale-main:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      labels:
 | 
			
		||||
        tailscale.com/proxy-class: no-metrics
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: calibre-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: calibre-web-automated-main
 | 
			
		||||
                port: 8083
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - calibre-cl01tl
 | 
			
		||||
    tailscale-downloader:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      labels:
 | 
			
		||||
        tailscale.com/proxy-class: no-metrics
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: calibre-downloader-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: calibre-web-automated-downloader
 | 
			
		||||
                port: 8084
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - calibre-downloader-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 5Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    gmail:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      type: secret
 | 
			
		||||
      name: calibre-web-automated-gmail-config
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/calibre-web/gmail.json
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: gmail.json
 | 
			
		||||
    books:
 | 
			
		||||
      existingClaim: calibre-web-automated-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /calibre-library
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    ingest:
 | 
			
		||||
      existingClaim: calibre-web-automated-ingest-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /cwa-book-ingest
 | 
			
		||||
              readOnly: false
 | 
			
		||||
        downloader:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /cwa-book-ingest
 | 
			
		||||
              readOnly: false
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: code-server
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Code Server
 | 
			
		||||
keywords:
 | 
			
		||||
  - code-server
 | 
			
		||||
  - code
 | 
			
		||||
  - ide
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/code-server-1WziinqCFS
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/coder/code-server
 | 
			
		||||
  - https://github.com/cloudflare/cloudflared
 | 
			
		||||
  - https://hub.docker.com/r/linuxserver/code-server
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/tree/main/charts/cloudflared
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: code-server
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/code-server.png
 | 
			
		||||
appVersion: 4.96.1
 | 
			
		||||
@@ -1,55 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: codeserver-password-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: codeserver-password-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: PASSWORD
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/code-server/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: PASSWORD
 | 
			
		||||
    - secretKey: SUDO_PASSWORD
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/code-server/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: SUDO_PASSWORD
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: code-server-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: code-server-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/codeserver
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: code-server-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: code-server-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:
 | 
			
		||||
  volumeMode: Filesystem
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteOnce
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,49 +0,0 @@
 | 
			
		||||
code-server:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/linuxserver/code-server
 | 
			
		||||
            tag: 4.97.2@sha256:733c98b11faf45078c2a98cb1049fa10f386a725c893e867b82b4349ad4c5944
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: DEFAULT_WORKSPACE
 | 
			
		||||
              value: /config
 | 
			
		||||
          envFrom:
 | 
			
		||||
            - secretRef:
 | 
			
		||||
                name: codeserver-password-secret
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 8443
 | 
			
		||||
          targetPort: 8443
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      existingClaim: code-server-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
cloudflared:
 | 
			
		||||
  existingSecretName: code-server-cloudflared-secret
 | 
			
		||||
@@ -1,44 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: directus
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Directus
 | 
			
		||||
keywords:
 | 
			
		||||
  - directus
 | 
			
		||||
  - cms
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/directus-EvV9wese9H
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/directus/directus
 | 
			
		||||
  - https://github.com/minio/operator
 | 
			
		||||
  - https://github.com/valkey-io/valkey
 | 
			
		||||
  - https://github.com/cloudflare/cloudflared
 | 
			
		||||
  - https://github.com/cloudnative-pg/cloudnative-pg
 | 
			
		||||
  - https://hub.docker.com/r/directus/directus
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/minio/operator/tree/master/helm/tenant
 | 
			
		||||
  - https://github.com/bitnami/charts/tree/main/bitnami/valkey
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/cloudflared
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/postgres-cluster
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: directus
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: tenant
 | 
			
		||||
    alias: minio
 | 
			
		||||
    version: 7.0.0
 | 
			
		||||
    repository: https://operator.min.io/
 | 
			
		||||
  - name: valkey
 | 
			
		||||
    version: 2.4.0
 | 
			
		||||
    repository: https://charts.bitnami.com/bitnami
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared-directus
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-17-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/directus.png
 | 
			
		||||
appVersion: 11.3.2
 | 
			
		||||
@@ -1,247 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-config
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-config
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: admin-email
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: admin-email
 | 
			
		||||
    - secretKey: admin-password
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: admin-password
 | 
			
		||||
    - secretKey: secret
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret
 | 
			
		||||
    - secretKey: key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-valkey-config
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-valkey-config
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: user
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/valkey
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: user
 | 
			
		||||
    - secretKey: password
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/valkey
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: password
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-oidc-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-oidc-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: OIDC_CLIENT_ID
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/directus
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: client
 | 
			
		||||
    - secretKey: OIDC_CLIENT_SECRET
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/directus
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-minio-user-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-minio-user-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: AWS_ACCESS_KEY_ID
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/minio/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: AWS_ACCESS_KEY_ID
 | 
			
		||||
    - secretKey: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/minio/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-minio-root-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-minio-root-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: config.env
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/minio/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: root-config.env
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-minio-config-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-minio-config-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: config.env
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/directus/minio/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: config.env
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/directus
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: directus-postgresql-17-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: directus-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
 | 
			
		||||
@@ -1,206 +0,0 @@
 | 
			
		||||
directus:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: directus/directus
 | 
			
		||||
            tag: 11.5.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: PUBLIC_URL
 | 
			
		||||
              value: https://directus.alexlebens.dev
 | 
			
		||||
            - name: WEBSOCKETS_ENABLED
 | 
			
		||||
              value: true
 | 
			
		||||
            - name: ADMIN_EMAIL
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-config
 | 
			
		||||
                  key: admin-email
 | 
			
		||||
            - name: ADMIN_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-config
 | 
			
		||||
                  key: admin-password
 | 
			
		||||
            - name: SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-config
 | 
			
		||||
                  key: secret
 | 
			
		||||
            - name: KEY
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-config
 | 
			
		||||
                  key: key
 | 
			
		||||
            - name: DB_CLIENT
 | 
			
		||||
              value: postgres
 | 
			
		||||
            - name: DB_HOST
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-postgresql-17-cluster-app
 | 
			
		||||
                  key: host
 | 
			
		||||
            - name: DB_DATABASE
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-postgresql-17-cluster-app
 | 
			
		||||
                  key: dbname
 | 
			
		||||
            - name: DB_PORT
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-postgresql-17-cluster-app
 | 
			
		||||
                  key: port
 | 
			
		||||
            - name: DB_USER
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-postgresql-17-cluster-app
 | 
			
		||||
                  key: user
 | 
			
		||||
            - name: DB_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-postgresql-17-cluster-app
 | 
			
		||||
                  key: password
 | 
			
		||||
            - name: REDIS_ENABLED
 | 
			
		||||
              value: true
 | 
			
		||||
            - name: REDIS_HOST
 | 
			
		||||
              value: directus-valkey-primary
 | 
			
		||||
            - name: REDIS_PORT
 | 
			
		||||
              value: 6379
 | 
			
		||||
            - name: REDIS_USERNAME
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-valkey-config
 | 
			
		||||
                  key: user
 | 
			
		||||
            - name: REDIS_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-valkey-config
 | 
			
		||||
                  key: password
 | 
			
		||||
            - name: STORAGE_LOCATIONS
 | 
			
		||||
              value: s3
 | 
			
		||||
            - name: STORAGE_S3_DRIVER
 | 
			
		||||
              value: s3
 | 
			
		||||
            - name: STORAGE_S3_KEY
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-minio-user-secret
 | 
			
		||||
                  key: AWS_ACCESS_KEY_ID
 | 
			
		||||
            - name: STORAGE_S3_SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-minio-user-secret
 | 
			
		||||
                  key: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
            - name: STORAGE_S3_BUCKET
 | 
			
		||||
              value: directus
 | 
			
		||||
            - name: STORAGE_S3_REGION
 | 
			
		||||
              value: us-east-1
 | 
			
		||||
            - name: STORAGE_S3_ENDPOINT
 | 
			
		||||
              value: http://minio.directus:80
 | 
			
		||||
            - name: STORAGE_S3_FORCE_PATH_STYLE
 | 
			
		||||
              value: "true"
 | 
			
		||||
            - name: AUTH_PROVIDERS
 | 
			
		||||
              value: AUTHENTIK
 | 
			
		||||
            - name: AUTH_AUTHENTIK_DRIVER
 | 
			
		||||
              value: openid
 | 
			
		||||
            - name: AUTH_AUTHENTIK_CLIENT_ID
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-oidc-secret
 | 
			
		||||
                  key: OIDC_CLIENT_ID
 | 
			
		||||
            - name: AUTH_AUTHENTIK_CLIENT_SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: directus-oidc-secret
 | 
			
		||||
                  key: OIDC_CLIENT_SECRET
 | 
			
		||||
            - name: AUTH_AUTHENTIK_SCOPE
 | 
			
		||||
              value: openid profile email
 | 
			
		||||
            - name: AUTH_AUTHENTIK_ISSUER_URL
 | 
			
		||||
              value: https://auth.alexlebens.dev/application/o/directus/.well-known/openid-configuration
 | 
			
		||||
            - name: AUTH_AUTHENTIK_IDENTIFIER_KEY
 | 
			
		||||
              value: email
 | 
			
		||||
            - name: AUTH_AUTHENTIK_ALLOW_PUBLIC_REGISTRATION
 | 
			
		||||
              value: true
 | 
			
		||||
            - name: AUTH_AUTHENTIK_LABEL
 | 
			
		||||
              value: Authentik Login
 | 
			
		||||
            - name: TELEMETRY
 | 
			
		||||
              value: false
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 8055
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
minio:
 | 
			
		||||
  existingSecret:
 | 
			
		||||
    name: directus-minio-root-secret
 | 
			
		||||
  tenant:
 | 
			
		||||
    name: minio-directus
 | 
			
		||||
    configuration:
 | 
			
		||||
      name: directus-minio-config-secret
 | 
			
		||||
    pools:
 | 
			
		||||
      - servers: 3
 | 
			
		||||
        name: pool
 | 
			
		||||
        volumesPerServer: 2
 | 
			
		||||
        size: 10Gi
 | 
			
		||||
        storageClassName: ceph-block
 | 
			
		||||
    mountPath: /export
 | 
			
		||||
    subPath: /data
 | 
			
		||||
    metrics:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      port: 9000
 | 
			
		||||
      protocol: http
 | 
			
		||||
    certificate:
 | 
			
		||||
      requestAutoCert: false
 | 
			
		||||
  ingress:
 | 
			
		||||
    console:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      ingressClassName: tailscale
 | 
			
		||||
      tls:
 | 
			
		||||
        - secretName: minio-directus-cl01tl
 | 
			
		||||
          hosts:
 | 
			
		||||
            - minio-directus-cl01tl
 | 
			
		||||
      host: minio-directus-cl01tl
 | 
			
		||||
      path: /
 | 
			
		||||
      pathType: Prefix
 | 
			
		||||
valkey:
 | 
			
		||||
  architecture: standalone
 | 
			
		||||
  auth:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    existingSecret: directus-valkey-config
 | 
			
		||||
    existingSecretPasswordKey: password
 | 
			
		||||
    usePasswordFiles: false
 | 
			
		||||
  primary:
 | 
			
		||||
    persistence:
 | 
			
		||||
      enabled: false
 | 
			
		||||
  replica:
 | 
			
		||||
    persistence:
 | 
			
		||||
      enabled: false
 | 
			
		||||
cloudflared-directus:
 | 
			
		||||
  name: cloudflared-directus
 | 
			
		||||
  existingSecretName: directus-cloudflared-secret
 | 
			
		||||
postgres-17-cluster:
 | 
			
		||||
  mode: standalone
 | 
			
		||||
  cluster:
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/directus/directus-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: directus-postgresql-17-cluster-backup-secret
 | 
			
		||||
    backupIndex: 1
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: element-web
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Element Web
 | 
			
		||||
keywords:
 | 
			
		||||
  - element-web
 | 
			
		||||
  - chat
 | 
			
		||||
  - matrix
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/element-web-R4dzXXspgr
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/element-hq/element-web
 | 
			
		||||
  - https://github.com/cloudflare/cloudflared
 | 
			
		||||
  - https://hub.docker.com/r/vectorim/element-web
 | 
			
		||||
  - https://gitlab.com/ananace/charts/-/tree/master/charts/element-web
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/tree/main/charts/cloudflared
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: element-web
 | 
			
		||||
    version: 1.4.3
 | 
			
		||||
    repository: https://ananace.gitlab.io/charts
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/element.png
 | 
			
		||||
appVersion: v1.11.88
 | 
			
		||||
@@ -1,23 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: element-web-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: element-web-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/element
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
element-web:
 | 
			
		||||
  replicaCount: 1
 | 
			
		||||
  image:
 | 
			
		||||
    repository: vectorim/element-web
 | 
			
		||||
    tag: v1.11.93
 | 
			
		||||
    pullPolicy: IfNotPresent
 | 
			
		||||
  defaultServer:
 | 
			
		||||
    url: https://matrix.alexlebens.dev
 | 
			
		||||
    name: alexlebens.dev
 | 
			
		||||
    identity_url: https://alexlebens.dev
 | 
			
		||||
  config:
 | 
			
		||||
    disable_3pid_login: true
 | 
			
		||||
    brand: "Alex Lebens"
 | 
			
		||||
    branding:
 | 
			
		||||
      welcome_background_url: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-3.jpg
 | 
			
		||||
      auth_header_logo_url: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png
 | 
			
		||||
    sso_redirect_options:
 | 
			
		||||
      immediate: true
 | 
			
		||||
    default_theme: dark
 | 
			
		||||
    default_country_code: US
 | 
			
		||||
  ingress:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      cpu: 10m
 | 
			
		||||
      memory: 128Mi
 | 
			
		||||
cloudflared:
 | 
			
		||||
  existingSecretName: element-web-cloudflared-secret
 | 
			
		||||
@@ -1,33 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: freshrss
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: FreshRSS
 | 
			
		||||
keywords:
 | 
			
		||||
  - freshrss
 | 
			
		||||
  - rss
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/freshrss-W6nFVTmKJw
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/FreshRSS/FreshRSS
 | 
			
		||||
  - https://github.com/cloudflare/cloudflared
 | 
			
		||||
  - https://github.com/cloudnative-pg/cloudnative-pg
 | 
			
		||||
  - https://hub.docker.com/r/freshrss/freshrss
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/tree/main/charts/cloudflared
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/tree/main/charts/postgres-cluster
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: freshrss
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-17-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/freshrss.png
 | 
			
		||||
appVersion: 1.24.3
 | 
			
		||||
@@ -1,192 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: freshrss-install-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: freshrss-install-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: ADMIN_EMAIL
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/freshrss/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: ADMIN_EMAIL
 | 
			
		||||
    - secretKey: ADMIN_PASSWORD
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/freshrss/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: ADMIN_PASSWORD
 | 
			
		||||
    - secretKey: ADMIN_API_PASSWORD
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/freshrss/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: ADMIN_API_PASSWORD
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: freshrss-oidc-secret
 | 
			
		||||
  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: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: OIDC_CLIENT_ID
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/freshrss
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: client
 | 
			
		||||
    - secretKey: OIDC_CLIENT_SECRET
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/freshrss
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret
 | 
			
		||||
    - secretKey: OIDC_CLIENT_CRYPTO_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/freshrss
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: crypto-key
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: freshrss-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: freshrss-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/freshrss
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
 | 
			
		||||
# ---
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: freshrss-data-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: freshrss-data-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 }}` }}/freshrss/freshrss-data"
 | 
			
		||||
#   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: freshrss-postgresql-17-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: freshrss-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
 | 
			
		||||
@@ -1,37 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: freshrss-data-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: freshrss-data-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: freshrss-data
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: freshrss-data-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     moverSecurityContext:
 | 
			
		||||
#       runAsUser: 568
 | 
			
		||||
#       runAsGroup: 568
 | 
			
		||||
#       fsGroup: 568
 | 
			
		||||
#       fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
#       supplementalGroups:
 | 
			
		||||
#         - 44
 | 
			
		||||
#         - 100
 | 
			
		||||
#         - 109
 | 
			
		||||
#         - 65539
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,187 +0,0 @@
 | 
			
		||||
freshrss:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      initContainers:
 | 
			
		||||
        init-download-extension-1:
 | 
			
		||||
          securityContext:
 | 
			
		||||
            runAsUser: 0
 | 
			
		||||
          image:
 | 
			
		||||
            repository: alpine
 | 
			
		||||
            tag: 3.21.3
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          command:
 | 
			
		||||
            - /bin/sh
 | 
			
		||||
            - -ec
 | 
			
		||||
            - |
 | 
			
		||||
              apk add --no-cache git;
 | 
			
		||||
              cd /tmp;
 | 
			
		||||
              git clone -n --depth=1 --filter=tree:0 https://github.com/cn-tools/cntools_FreshRssExtensions.git;
 | 
			
		||||
              cd cntools_FreshRssExtensions;
 | 
			
		||||
              git sparse-checkout set --no-cone /xExtension-YouTubeChannel2RssFeed;
 | 
			
		||||
              git checkout;
 | 
			
		||||
              rm -rf /var/www/FreshRSS/extensions/xExtension-YouTubeChannel2RssFeed
 | 
			
		||||
              cp -r xExtension-YouTubeChannel2RssFeed /var/www/FreshRSS/extensions
 | 
			
		||||
              chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-YouTubeChannel2RssFeed
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
        init-download-extension-2:
 | 
			
		||||
          securityContext:
 | 
			
		||||
            runAsUser: 0
 | 
			
		||||
          image:
 | 
			
		||||
            repository: alpine
 | 
			
		||||
            tag: 3.21.3
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          command:
 | 
			
		||||
            - /bin/sh
 | 
			
		||||
            - -ec
 | 
			
		||||
            - |
 | 
			
		||||
              apk add --no-cache git;
 | 
			
		||||
              cd /tmp;
 | 
			
		||||
              git clone -n --depth=1 --filter=tree:0 https://github.com/FreshRSS/Extensions.git;
 | 
			
		||||
              cd Extensions;
 | 
			
		||||
              git sparse-checkout set --no-cone /xExtension-ImageProxy;
 | 
			
		||||
              git checkout;
 | 
			
		||||
              rm -rf /var/www/FreshRSS/extensions/xExtension-ImageProxy
 | 
			
		||||
              cp -r xExtension-ImageProxy /var/www/FreshRSS/extensions
 | 
			
		||||
              chown -R 568:568 /var/www/FreshRSS/extensions/xExtension-YouTubeChannel2RssFeed
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: freshrss/freshrss
 | 
			
		||||
            tag: 1.26.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: "568"
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: "568"
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: FRESHRSS_ENV
 | 
			
		||||
              value: production
 | 
			
		||||
            - name: CRON_MIN
 | 
			
		||||
              value: 13,43
 | 
			
		||||
            - name: BASE_URL
 | 
			
		||||
              value: https://rss.alexlebens.dev
 | 
			
		||||
            - name: DB_HOST
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: freshrss-postgresql-17-cluster-app
 | 
			
		||||
                  key: host
 | 
			
		||||
            - name: DB_BASE
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: freshrss-postgresql-17-cluster-app
 | 
			
		||||
                  key: dbname
 | 
			
		||||
            - name: DB_USER
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: freshrss-postgresql-17-cluster-app
 | 
			
		||||
                  key: user
 | 
			
		||||
            - name: DB_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: freshrss-postgresql-17-cluster-app
 | 
			
		||||
                  key: password
 | 
			
		||||
            - name: FRESHRSS_INSTALL
 | 
			
		||||
              value: |
 | 
			
		||||
                --api-enabled
 | 
			
		||||
                --base-url $(BASE_URL)
 | 
			
		||||
                --db-base $(DB_BASE)
 | 
			
		||||
                --db-host $(DB_HOST)
 | 
			
		||||
                --db-password $(DB_PASSWORD)
 | 
			
		||||
                --db-type pgsql
 | 
			
		||||
                --db-user $(DB_USER)
 | 
			
		||||
                --auth-type http_auth
 | 
			
		||||
                --default-user admin
 | 
			
		||||
                --language en
 | 
			
		||||
            - name: FRESHRSS_USER
 | 
			
		||||
              value: |
 | 
			
		||||
                --api-password $(ADMIN_API_PASSWORD)
 | 
			
		||||
                --email $(ADMIN_EMAIL)
 | 
			
		||||
                --language en
 | 
			
		||||
                --password $(ADMIN_PASSWORD)
 | 
			
		||||
                --user admin
 | 
			
		||||
            - name: OIDC_ENABLED
 | 
			
		||||
              value: 1
 | 
			
		||||
            - name: OIDC_PROVIDER_METADATA_URL
 | 
			
		||||
              value: https://auth.alexlebens.dev/application/o/freshrss/.well-known/openid-configuration
 | 
			
		||||
            - name: OIDC_X_FORWARDED_HEADERS
 | 
			
		||||
              value: X-Forwarded-Port X-Forwarded-Proto X-Forwarded-Host
 | 
			
		||||
            - name: OIDC_SCOPES
 | 
			
		||||
              value: openid email profile
 | 
			
		||||
            - name: OIDC_REMOTE_USER_CLAIM
 | 
			
		||||
              value: preferred_username
 | 
			
		||||
          envFrom:
 | 
			
		||||
            - secretRef:
 | 
			
		||||
                name: freshrss-oidc-secret
 | 
			
		||||
            - secretRef:
 | 
			
		||||
                name: freshrss-install-secret
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 80
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  persistence:
 | 
			
		||||
    data:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 5Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /var/www/FreshRSS/data
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    extensions:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 1Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          init-download-extension-1:
 | 
			
		||||
            - path: /var/www/FreshRSS/extensions
 | 
			
		||||
              readOnly: false
 | 
			
		||||
          init-download-extension-2:
 | 
			
		||||
            - path: /var/www/FreshRSS/extensions
 | 
			
		||||
              readOnly: false
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /var/www/FreshRSS/extensions
 | 
			
		||||
              readOnly: false
 | 
			
		||||
cloudflared:
 | 
			
		||||
  existingSecretName: freshrss-cloudflared-secret
 | 
			
		||||
postgres-17-cluster:
 | 
			
		||||
  mode: standalone
 | 
			
		||||
  cluster:
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/freshrss/freshrss-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: freshrss-postgresql-17-cluster-backup-secret
 | 
			
		||||
    backupIndex: 2
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: hoarder
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Hoarder
 | 
			
		||||
keywords:
 | 
			
		||||
  - hoarder
 | 
			
		||||
  - bookmarks
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/hoarder-
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/hoarder-app/hoarder
 | 
			
		||||
  - https://github.com/cloudflare/cloudflared
 | 
			
		||||
  - https://github.com/meilisearch/meilisearch
 | 
			
		||||
  - https://github.com/hoarder-app/hoarder/pkgs/container/hoarder
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/tree/main/charts/cloudflared
 | 
			
		||||
  - https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: hoarder
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: meilisearch
 | 
			
		||||
    version: 0.12.0
 | 
			
		||||
    repository: https://meilisearch.github.io/meilisearch-kubernetes
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/svg/hoarder.svg
 | 
			
		||||
appVersion: 0.19.0
 | 
			
		||||
@@ -1,164 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: hoarder-key-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: hoarder-key-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/hoarder/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: hoarder-oidc-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: hoarder-oidc-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: AUTHENTIK_CLIENT_ID
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/hoarder
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: client
 | 
			
		||||
    - secretKey: AUTHENTIK_CLIENT_SECRET
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/hoarder
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: hoarder-meilisearch-master-key-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: hoarder-meilisearch-master-key-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: meilisearch
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: MEILI_MASTER_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/hoarder/meilisearch
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: MEILI_MASTER_KEY
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: hoarder-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: hoarder-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/hoarder
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
 | 
			
		||||
# ---
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: hoarder-data-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: hoarder-data-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 }}` }}/hoarder/hoarder-data"
 | 
			
		||||
#   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
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: hoarder-data-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: hoarder-data-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: hoarder-data
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: hoarder-data-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,128 +0,0 @@
 | 
			
		||||
hoarder:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/hoarder-app/hoarder
 | 
			
		||||
            tag: 0.22.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: DATA_DIR
 | 
			
		||||
              value: /data
 | 
			
		||||
            - name: NEXTAUTH_URL
 | 
			
		||||
              value: https://hoarder.alexlebens.dev/
 | 
			
		||||
            - name: NEXTAUTH_SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: hoarder-key-secret
 | 
			
		||||
                  key: key
 | 
			
		||||
            - name: MEILI_ADDR
 | 
			
		||||
              value: http://hoarder-meilisearch.hoarder:7700
 | 
			
		||||
            - name: MEILI_MASTER_KEY
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: hoarder-meilisearch-master-key-secret
 | 
			
		||||
                  key: MEILI_MASTER_KEY
 | 
			
		||||
            - name: BROWSER_WEB_URL
 | 
			
		||||
              value: http://hoarder.hoarder:9222
 | 
			
		||||
            - name: DISABLE_SIGNUPS
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: OAUTH_PROVIDER_NAME
 | 
			
		||||
              value: "Authentik"
 | 
			
		||||
            - name: OAUTH_WELLKNOWN_URL
 | 
			
		||||
              value: https://auth.alexlebens.dev/application/o/hoarder/.well-known/openid-configuration
 | 
			
		||||
            - name: OAUTH_SCOPE
 | 
			
		||||
              value: "openid email profile"
 | 
			
		||||
            - name: OAUTH_CLIENT_ID
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: hoarder-oidc-secret
 | 
			
		||||
                  key: AUTHENTIK_CLIENT_ID
 | 
			
		||||
            - name: OAUTH_CLIENT_SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: hoarder-oidc-secret
 | 
			
		||||
                  key: AUTHENTIK_CLIENT_SECRET
 | 
			
		||||
            - name: OLLAMA_BASE_URL
 | 
			
		||||
              value: http://ollama-server-1.ollama:11434
 | 
			
		||||
            - name: OLLAMA_KEEP_ALIVE
 | 
			
		||||
              value: 5m
 | 
			
		||||
            - name: INFERENCE_TEXT_MODEL
 | 
			
		||||
              value: llama3.1:8b
 | 
			
		||||
            - name: INFERENCE_IMAGE_MODEL
 | 
			
		||||
              value: llama3.2-vision:11b
 | 
			
		||||
            - name: EMBEDDING_TEXT_MODEL
 | 
			
		||||
              value: mxbai-embed-large
 | 
			
		||||
            - name: INFERENCE_JOB_TIMEOUT_SEC
 | 
			
		||||
              value: 720
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
        chrome:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: gcr.io/zenika-hub/alpine-chrome
 | 
			
		||||
            tag: 124
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          args:
 | 
			
		||||
            - --no-sandbox
 | 
			
		||||
            - --disable-gpu
 | 
			
		||||
            - --disable-dev-shm-usage
 | 
			
		||||
            - --remote-debugging-address=0.0.0.0
 | 
			
		||||
            - --remote-debugging-port=9222
 | 
			
		||||
            - --hide-scrollbars
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 3000
 | 
			
		||||
          targetPort: 3000
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
        chrome:
 | 
			
		||||
          port: 9222
 | 
			
		||||
          targetPort: 9222
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  persistence:
 | 
			
		||||
    data:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 10Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /data
 | 
			
		||||
              readOnly: false
 | 
			
		||||
meilisearch:
 | 
			
		||||
  environment:
 | 
			
		||||
    MEILI_NO_ANALYTICS: true
 | 
			
		||||
    MEILI_ENV: production
 | 
			
		||||
  auth:
 | 
			
		||||
    existingMasterKeySecret: hoarder-meilisearch-master-key-secret
 | 
			
		||||
  service:
 | 
			
		||||
    type: ClusterIP
 | 
			
		||||
    port: 7700
 | 
			
		||||
  persistence:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    storageClass: ceph-block
 | 
			
		||||
    size: 10Gi
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      cpu: 10m
 | 
			
		||||
      memory: 128Mi
 | 
			
		||||
  serviceMonitor:
 | 
			
		||||
    enabled: true
 | 
			
		||||
cloudflared:
 | 
			
		||||
  existingSecretName: hoarder-cloudflared-secret
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: homepage
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Homepage
 | 
			
		||||
keywords:
 | 
			
		||||
  - homepage
 | 
			
		||||
  - dashboard
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/homepage-dev-crZPAd8FEj
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/gethomepage/homepage
 | 
			
		||||
  - https://github.com/cloudflare/cloudflared
 | 
			
		||||
  - https://github.com/gethomepage/homepage/pkgs/container/homepage
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/tree/main/charts/cloudflared
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: homepage
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/homepage.png
 | 
			
		||||
appVersion: v0.10.0
 | 
			
		||||
@@ -1,23 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homepage-dev-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: homepage-dev-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/homepage-dev
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
@@ -1,145 +0,0 @@
 | 
			
		||||
homepage:
 | 
			
		||||
  global:
 | 
			
		||||
    nameOverride: homepage
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      annotations:
 | 
			
		||||
        reloader.stakater.com/auto: "true"
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/gethomepage/homepage
 | 
			
		||||
            tag: v0.10.9
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  configMaps:
 | 
			
		||||
    config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      data:
 | 
			
		||||
        docker.yaml: ""
 | 
			
		||||
        kubernetes.yaml: ""
 | 
			
		||||
        settings.yaml: |
 | 
			
		||||
          favicon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png
 | 
			
		||||
          headerStyle: clean
 | 
			
		||||
          hideVersion: true
 | 
			
		||||
          color: zinc
 | 
			
		||||
          background:
 | 
			
		||||
            image: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-3.jpg
 | 
			
		||||
            brightness: 50
 | 
			
		||||
          theme: dark
 | 
			
		||||
          disableCollapse: true
 | 
			
		||||
        widgets.yaml: |
 | 
			
		||||
          - logo:
 | 
			
		||||
              icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png
 | 
			
		||||
          - datetime:
 | 
			
		||||
              text_size: xl
 | 
			
		||||
              format:
 | 
			
		||||
                dateStyle: long
 | 
			
		||||
                timeStyle: short
 | 
			
		||||
                hour12: false
 | 
			
		||||
          - openmeteo:
 | 
			
		||||
              label: St. Paul
 | 
			
		||||
              latitude: 44.95
 | 
			
		||||
              longitude: 93.09
 | 
			
		||||
              units: metric
 | 
			
		||||
              cache: 5
 | 
			
		||||
        services.yaml: |
 | 
			
		||||
          - Applications:
 | 
			
		||||
              - Auth:
 | 
			
		||||
                  icon: sh-authentik.svg
 | 
			
		||||
                  description: Authentik
 | 
			
		||||
                  href: https://auth.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://auth.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Site:
 | 
			
		||||
                  icon: https://d21zlbwtcn424f.cloudfront.net/icon_white.png
 | 
			
		||||
                  description: Profile Website
 | 
			
		||||
                  href: https://www.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://www.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Content Management:
 | 
			
		||||
                  icon: directus.png
 | 
			
		||||
                  description: Directus
 | 
			
		||||
                  href: https://directus.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://directus.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Chat:
 | 
			
		||||
                  icon: sh-element.svg
 | 
			
		||||
                  description: Matrix
 | 
			
		||||
                  href: https://chat.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://chat.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Wiki:
 | 
			
		||||
                  icon: sh-outline.svg
 | 
			
		||||
                  description: Outline
 | 
			
		||||
                  href: https://wiki.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://wiki.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Passwords:
 | 
			
		||||
                  icon: sh-vaultwarden-light.svg
 | 
			
		||||
                  description: Vaultwarden
 | 
			
		||||
                  href: https://passwords.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://passwords.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Bookmarks:
 | 
			
		||||
                  icon: sh-hoarder-light.svg
 | 
			
		||||
                  description: Hoader
 | 
			
		||||
                  href: https://hoarder.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://hoarder.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - RSS:
 | 
			
		||||
                  icon: sh-freshrss.svg
 | 
			
		||||
                  description: FreshRSS
 | 
			
		||||
                  href: https://rss.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://rss.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
        bookmarks.yaml: ""
 | 
			
		||||
  service:
 | 
			
		||||
    http:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 3000
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      type: configMap
 | 
			
		||||
      name: homepage-dev-config
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/config/bookmarks.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: bookmarks.yaml
 | 
			
		||||
            - path: /app/config/docker.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: docker.yaml
 | 
			
		||||
            - path: /app/config/kubernetes.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: kubernetes.yaml
 | 
			
		||||
            - path: /app/config/services.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: services.yaml
 | 
			
		||||
            - path: /app/config/settings.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: settings.yaml
 | 
			
		||||
            - path: /app/config/widgets.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: widgets.yaml
 | 
			
		||||
cloudflared:
 | 
			
		||||
  existingSecretName: homepage-dev-cloudflared-secret
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: homepage
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Homepage
 | 
			
		||||
keywords:
 | 
			
		||||
  - homepage
 | 
			
		||||
  - dashboard
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/homepage-s2clWoI5EC
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/gethomepage/homepage
 | 
			
		||||
  - https://github.com/gethomepage/homepage/pkgs/container/homepage
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: homepage
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/homepage.png
 | 
			
		||||
appVersion: v0.10.0
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: rbac.authorization.k8s.io/v1
 | 
			
		||||
kind: ClusterRoleBinding
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homepage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: homepage
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
roleRef:
 | 
			
		||||
  apiGroup: rbac.authorization.k8s.io
 | 
			
		||||
  kind: ClusterRole
 | 
			
		||||
  name: homepage
 | 
			
		||||
subjects:
 | 
			
		||||
  - kind: ServiceAccount
 | 
			
		||||
    name: homepage
 | 
			
		||||
    namespace: {{ .Release.Namespace }}
 | 
			
		||||
@@ -1,51 +0,0 @@
 | 
			
		||||
apiVersion: rbac.authorization.k8s.io/v1
 | 
			
		||||
kind: ClusterRole
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homepage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: homepage
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
rules:
 | 
			
		||||
  - apiGroups:
 | 
			
		||||
      - ""
 | 
			
		||||
    resources:
 | 
			
		||||
      - namespaces
 | 
			
		||||
      - pods
 | 
			
		||||
      - nodes
 | 
			
		||||
    verbs:
 | 
			
		||||
      - get
 | 
			
		||||
      - list
 | 
			
		||||
  - apiGroups:
 | 
			
		||||
      - extensions
 | 
			
		||||
      - networking.k8s.io
 | 
			
		||||
    resources:
 | 
			
		||||
      - ingresses
 | 
			
		||||
    verbs:
 | 
			
		||||
      - get
 | 
			
		||||
      - list
 | 
			
		||||
  - apiGroups:
 | 
			
		||||
      - traefik.containo.us
 | 
			
		||||
      - traefik.io
 | 
			
		||||
    resources:
 | 
			
		||||
      - ingressroutes
 | 
			
		||||
    verbs:
 | 
			
		||||
      - get
 | 
			
		||||
      - list
 | 
			
		||||
  - apiGroups:
 | 
			
		||||
      - metrics.k8s.io
 | 
			
		||||
    resources:
 | 
			
		||||
      - nodes
 | 
			
		||||
      - pods
 | 
			
		||||
    verbs:
 | 
			
		||||
      - get
 | 
			
		||||
      - list
 | 
			
		||||
  - apiGroups:
 | 
			
		||||
      - apiextensions.k8s.io
 | 
			
		||||
    resources:
 | 
			
		||||
      - customresourcedefinitions/status
 | 
			
		||||
    verbs:
 | 
			
		||||
      - get
 | 
			
		||||
@@ -1,107 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homepage-keys-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: homepage-keys-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_SYNOLOGY_USER
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /synology/auth/cl01tl
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: user
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_SYNOLOGY_PASSWORD
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /synology/auth/cl01tl
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: password
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_UNIFI_USER
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /unifi/auth/cl01tl
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: user
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_UNIFI_PASSWORD
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /unifi/auth/cl01tl
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: password
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_SONARR_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/sonarr4/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_SONARR4K_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/sonarr4-4k/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_SONARRANIME_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/sonarr4-anime/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_RADARR_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/radarr5/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_RADARR4K_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/radarr5-4k/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_RADARRANIME_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/radarr5-anime/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_RADARRSTANDUP_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/radarr5-standup/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_LIDARR2_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/lidarr2/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
    - secretKey: HOMEPAGE_VAR_PROWLARR_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/prowlarr/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
@@ -1,52 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Service
 | 
			
		||||
metadata:
 | 
			
		||||
  name: gitea-ps10rp
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: gitea-ps10rp
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: tailscale
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
  annotations:
 | 
			
		||||
    tailscale.com/tailnet-fqdn: gitea-ps10rp.boreal-beaufort.ts.net
 | 
			
		||||
spec:
 | 
			
		||||
  externalName: placeholder
 | 
			
		||||
  type: ExternalName
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Service
 | 
			
		||||
metadata:
 | 
			
		||||
  name: home-ps10rp
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: home-ps10rp
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: tailscale
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
  annotations:
 | 
			
		||||
    tailscale.com/tailnet-fqdn: home-ps10rp.boreal-beaufort.ts.net
 | 
			
		||||
spec:
 | 
			
		||||
  externalName: placeholder
 | 
			
		||||
  type: ExternalName
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Service
 | 
			
		||||
metadata:
 | 
			
		||||
  name: traefik-ps10rp
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: traefik-ps10rp
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: tailscale
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
  annotations:
 | 
			
		||||
    tailscale.com/tailnet-fqdn: traefik-ps10rp.boreal-beaufort.ts.net
 | 
			
		||||
spec:
 | 
			
		||||
  externalName: placeholder
 | 
			
		||||
  type: ExternalName
 | 
			
		||||
@@ -1,697 +0,0 @@
 | 
			
		||||
homepage:
 | 
			
		||||
  global:
 | 
			
		||||
    nameOverride: homepage
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      annotations:
 | 
			
		||||
        reloader.stakater.com/auto: "true"
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/gethomepage/homepage
 | 
			
		||||
            tag: v0.10.9
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          envFrom:
 | 
			
		||||
            - secretRef:
 | 
			
		||||
                name: homepage-keys-secret
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
    name: homepage
 | 
			
		||||
  configMaps:
 | 
			
		||||
    config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      data:
 | 
			
		||||
        docker.yaml: ""
 | 
			
		||||
        kubernetes.yaml: |
 | 
			
		||||
          mode: cluster
 | 
			
		||||
        settings.yaml: |
 | 
			
		||||
          favicon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png
 | 
			
		||||
          headerStyle: clean
 | 
			
		||||
          hideVersion: true
 | 
			
		||||
          color: zinc
 | 
			
		||||
          background:
 | 
			
		||||
            image: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/background-3.jpg
 | 
			
		||||
            brightness: 50
 | 
			
		||||
          theme: dark
 | 
			
		||||
          disableCollapse: true
 | 
			
		||||
          layout:
 | 
			
		||||
            - Media:
 | 
			
		||||
                tab: Applications
 | 
			
		||||
                icon: mdi-multimedia-#ffffff
 | 
			
		||||
            - Public:
 | 
			
		||||
                tab: Applications
 | 
			
		||||
                icon: mdi-earth-#ffffff
 | 
			
		||||
            - Internal:
 | 
			
		||||
                tab: Applications
 | 
			
		||||
                icon: mdi-security-network-#ffffff
 | 
			
		||||
            - Code:
 | 
			
		||||
                tab: Tools
 | 
			
		||||
                icon: mdi-code-block-braces-#ffffff
 | 
			
		||||
            - Monitoring:
 | 
			
		||||
                tab: Tools
 | 
			
		||||
                icon: mdi-chart-line-#ffffff
 | 
			
		||||
            - Services:
 | 
			
		||||
                tab: Services
 | 
			
		||||
                icon: mdi-toolbox-outline-#ffffff
 | 
			
		||||
            - Hardware:
 | 
			
		||||
                tab: Services
 | 
			
		||||
                icon: mdi-server-network-#ffffff
 | 
			
		||||
            - Storage:
 | 
			
		||||
                tab: Services
 | 
			
		||||
                icon: mdi-database-#ffffff
 | 
			
		||||
            - TV Shows:
 | 
			
		||||
                tab: Servarr
 | 
			
		||||
                icon: mdi-television-#ffffff
 | 
			
		||||
            - Movies:
 | 
			
		||||
                tab: Servarr
 | 
			
		||||
                icon: mdi-filmstrip-#ffffff
 | 
			
		||||
            - Music:
 | 
			
		||||
                tab: Servarr
 | 
			
		||||
                icon: mdi-music-box-multiple-#ffffff
 | 
			
		||||
            - Services (Servarr):
 | 
			
		||||
                tab: Servarr
 | 
			
		||||
                icon: mdi-radar-#ffffff
 | 
			
		||||
            - External Services:
 | 
			
		||||
                tab: Bookmarks
 | 
			
		||||
                icon: mdi-cloud-#ffffff
 | 
			
		||||
            - Other Homes:
 | 
			
		||||
                tab: Bookmarks
 | 
			
		||||
                icon: mdi-cloud-#ffffff
 | 
			
		||||
            - Trackers:
 | 
			
		||||
                tab: Bookmarks
 | 
			
		||||
                icon: mdi-cloud-#ffffff
 | 
			
		||||
        widgets.yaml: |
 | 
			
		||||
          - logo:
 | 
			
		||||
              icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png
 | 
			
		||||
          - kubernetes:
 | 
			
		||||
              cluster:
 | 
			
		||||
                show: true
 | 
			
		||||
                cpu: true
 | 
			
		||||
                memory: true
 | 
			
		||||
                showLabel: true
 | 
			
		||||
                label: "Cluster"
 | 
			
		||||
              nodes:
 | 
			
		||||
                show: false
 | 
			
		||||
          - datetime:
 | 
			
		||||
              text_size: xl
 | 
			
		||||
              format:
 | 
			
		||||
                dateStyle: long
 | 
			
		||||
                timeStyle: short
 | 
			
		||||
                hour12: false
 | 
			
		||||
          - openmeteo:
 | 
			
		||||
              label: St. Paul
 | 
			
		||||
              latitude: 44.95
 | 
			
		||||
              longitude: 93.09
 | 
			
		||||
              units: metric
 | 
			
		||||
              cache: 5
 | 
			
		||||
        services.yaml: |
 | 
			
		||||
          - Media:
 | 
			
		||||
              - Plex:
 | 
			
		||||
                  icon: sh-plex.svg
 | 
			
		||||
                  description: Media server
 | 
			
		||||
                  href: https://plex-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://plex.plex:32400
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Media Requests:
 | 
			
		||||
                  icon: sh-overseerr.svg
 | 
			
		||||
                  description: Overseer
 | 
			
		||||
                  href: https://overseerr-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://overseerr.overseerr:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Jellyfin:
 | 
			
		||||
                  icon: sh-jellyfin.svg
 | 
			
		||||
                  description: Media server
 | 
			
		||||
                  href: https://jellyfin-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://jellyfin.jellyfin:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Youtube Archive:
 | 
			
		||||
                  icon: sh-tube-archivist-light.png
 | 
			
		||||
                  description: TubeAchivist
 | 
			
		||||
                  href: https://tubearchivist-cl01tl.boreal-beaufort.ts.net/login
 | 
			
		||||
                  siteMonitor: http://tubearchivist.tubearchivist:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Photos:
 | 
			
		||||
                  icon: sh-immich.svg
 | 
			
		||||
                  description: Immich
 | 
			
		||||
                  href: https://immich-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://immich-main.immich:2283
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Podcasts and Audiobooks:
 | 
			
		||||
                  icon: sh-audiobookshelf.svg
 | 
			
		||||
                  description: Audiobookshelf
 | 
			
		||||
                  href: https://audiobookshelf-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://audiobookshelf.audiobookshelf:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Books:
 | 
			
		||||
                  icon: sh-calibre-web-light.svg
 | 
			
		||||
                  description: Calibre Web Automated
 | 
			
		||||
                  href: https://calibre-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://calibre-web-automated-main.calibre-web-automated:8083
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - Public:
 | 
			
		||||
              - Site:
 | 
			
		||||
                  icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/icon_white.png
 | 
			
		||||
                  description: Profile Website
 | 
			
		||||
                  href: https://www.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://www.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Content Management:
 | 
			
		||||
                  icon: directus.png
 | 
			
		||||
                  description: Directus
 | 
			
		||||
                  href: https://directus.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://directus.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Chat:
 | 
			
		||||
                  icon: sh-element.svg
 | 
			
		||||
                  description: Matrix
 | 
			
		||||
                  href: https://chat.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://chat.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Wiki:
 | 
			
		||||
                  icon: sh-outline.svg
 | 
			
		||||
                  description: Outline
 | 
			
		||||
                  href: https://wiki.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://wiki.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Passwords:
 | 
			
		||||
                  icon: sh-vaultwarden-light.svg
 | 
			
		||||
                  description: Vaultwarden
 | 
			
		||||
                  href: https://passwords.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://passwords.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Bookmarks:
 | 
			
		||||
                  icon: sh-hoarder-light.svg
 | 
			
		||||
                  description: Hoader
 | 
			
		||||
                  href: https://hoarder.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://hoarder.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - RSS:
 | 
			
		||||
                  icon: sh-freshrss.svg
 | 
			
		||||
                  description: FreshRSS
 | 
			
		||||
                  href: https://rss.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://rss.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - Internal:
 | 
			
		||||
              - Home Automation:
 | 
			
		||||
                  icon: sh-home-assistant.svg
 | 
			
		||||
                  description: Home Assistant
 | 
			
		||||
                  href: https://home-assistant-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://home-assistant.home-assistant:8123
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - AI:
 | 
			
		||||
                  icon: sh-ollama-light.svg
 | 
			
		||||
                  description: Ollama
 | 
			
		||||
                  href: https://ollama-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://ollama-web.ollama:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - AI Image:
 | 
			
		||||
                  icon: https://user-images.githubusercontent.com/36368048/196280761-1535f413-a91e-4b6a-af6a-b890f8ae204c.png
 | 
			
		||||
                  description: Stable Diffusion
 | 
			
		||||
                  href: https://stable-diffusion-pd05wd.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: https://stable-diffusion-pd05wd.boreal-beaufort.ts.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Search:
 | 
			
		||||
                  icon: sh-searxng.svg
 | 
			
		||||
                  description: Searxng
 | 
			
		||||
                  href: https://searxng-cl01tl.boreal-beaufort.ts.net/
 | 
			
		||||
                  siteMonitor: http://searxng-browser.searxng:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Email:
 | 
			
		||||
                  icon: sh-roundcube.svg
 | 
			
		||||
                  description: Roundcube
 | 
			
		||||
                  href: https://mail-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://roundcube.roundcube:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Wiki:
 | 
			
		||||
                  icon: sh-kiwix-light.svg
 | 
			
		||||
                  description: Kiwix
 | 
			
		||||
                  href: https://kiwix-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://kiwix.kiwix:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Pictures:
 | 
			
		||||
                  icon: sh-photoview.svg
 | 
			
		||||
                  description: Photoview
 | 
			
		||||
                  href: https://photoview-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://photoview.photoview:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - Code:
 | 
			
		||||
              - Code (Public):
 | 
			
		||||
                  icon: sh-gitea.svg
 | 
			
		||||
                  description: Gitea
 | 
			
		||||
                  href: https://gitea.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://gitea.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Code (Tailnet):
 | 
			
		||||
                  icon: sh-gitea.svg
 | 
			
		||||
                  description: Gitea
 | 
			
		||||
                  href: https://gitea-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: https://gitea-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Code (ps10rp):
 | 
			
		||||
                  icon: sh-gitea.svg
 | 
			
		||||
                  description: Gitea
 | 
			
		||||
                  href: https://gitea-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: https://gitea-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - IDE (Public):
 | 
			
		||||
                  icon: sh-visual-studio-code.svg
 | 
			
		||||
                  description: VS Code
 | 
			
		||||
                  href: https://codeserver.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://codeserver.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - IDE (Home Assistant):
 | 
			
		||||
                  icon: sh-visual-studio-code.svg
 | 
			
		||||
                  description: Edit config for Home Assistant
 | 
			
		||||
                  href: https://home-assistant-codeserver-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://home-assistant.home-assistant:8443
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Continuous Deployment:
 | 
			
		||||
                  icon: sh-argo-cd.svg
 | 
			
		||||
                  description: ArgoCD
 | 
			
		||||
                  href: https://argocd-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://argo-cd-argocd-server.argo-cd:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  namespace: argocd
 | 
			
		||||
              - Workflows:
 | 
			
		||||
                  icon: sh-argo-cd.svg
 | 
			
		||||
                  description: Argo Workflows
 | 
			
		||||
                  href: https://argo-workflows-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://argo-workflows-server.argo-workflows:2746
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  namespace: argocd
 | 
			
		||||
              - Deployment:
 | 
			
		||||
                  icon: sh-komodo.svg
 | 
			
		||||
                  description: Komodo
 | 
			
		||||
                  href: https://komodo-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://komodo.komodo:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  namespace: komodo
 | 
			
		||||
          - Monitoring:
 | 
			
		||||
              - Kubernetes:
 | 
			
		||||
                  icon: kubernetes.png
 | 
			
		||||
                  description: Headlamp
 | 
			
		||||
                  href: https://headlamp-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://headlamp.headlamp:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Network Monitoring:
 | 
			
		||||
                  icon: cilium.png
 | 
			
		||||
                  description: Hubble for Cilium
 | 
			
		||||
                  href: https://hubble-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://hubble-ui.kube-system:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Dashboard:
 | 
			
		||||
                  icon: sh-grafana.svg
 | 
			
		||||
                  description: Grafana
 | 
			
		||||
                  href: https://grafana-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://grafana.grafana:80/api/health
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Metrics:
 | 
			
		||||
                  icon: sh-prometheus.svg
 | 
			
		||||
                  description: Prometheus
 | 
			
		||||
                  href: https://prometheus-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: prometheus
 | 
			
		||||
                    url: http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090
 | 
			
		||||
              - Tautulli:
 | 
			
		||||
                  icon: sh-tautulli.svg
 | 
			
		||||
                  description: Plex Monitoring
 | 
			
		||||
                  href: https://tautulli-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://tautulli.tautulli:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Jellystat:
 | 
			
		||||
                  icon: sh-jellystat.png
 | 
			
		||||
                  description: Jellyfin Monitoring
 | 
			
		||||
                  href: https://jellystat-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://jellystat.jellystat:3000
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - Services:
 | 
			
		||||
              - Auth (Public):
 | 
			
		||||
                  icon: sh-authentik.svg
 | 
			
		||||
                  description: Authentik
 | 
			
		||||
                  href: https://auth.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://auth.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Auth (Tailnet):
 | 
			
		||||
                  icon: sh-authentik.svg
 | 
			
		||||
                  description: Authentik
 | 
			
		||||
                  href: https://auth-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://authentik-server.authentik:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Email:
 | 
			
		||||
                  icon: sh-stalwart-mail-server.svg
 | 
			
		||||
                  description: Stalwart
 | 
			
		||||
                  href: https://stalwart-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://stalwart.stalwart:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Reverse Proxy (cl01tl):
 | 
			
		||||
                  icon: sh-traefik.svg
 | 
			
		||||
                  description: Traefik
 | 
			
		||||
                  href: https://traefik-cl01tl.alexlebens.net/dashboard/#/
 | 
			
		||||
                  siteMonitor: https://traefik-cl01tl.alexlebens.net/dashboard/#/
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: traefik
 | 
			
		||||
                    url: https://traefik-cl01tl.alexlebens.net
 | 
			
		||||
              - Reverse Proxy (ps10rp):
 | 
			
		||||
                  icon: sh-traefik.svg
 | 
			
		||||
                  description: Traefik
 | 
			
		||||
                  href: https://traefik-ps10rp.boreal-beaufort.ts.net/dashboard/#/
 | 
			
		||||
                  siteMonitor: https://traefik-ps10rp.boreal-beaufort.ts.net/dashboard/#/
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Image Cache:
 | 
			
		||||
                  icon: sh-harbor.svg
 | 
			
		||||
                  description: Harbor
 | 
			
		||||
                  href: https://harbor-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://harbor-portal.harbor:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - Hardware:
 | 
			
		||||
              - Network Management (alexlebens.net):
 | 
			
		||||
                  icon: sh-ubiquiti-unifi.svg
 | 
			
		||||
                  description: Unifi
 | 
			
		||||
                  href: https://unifi.alexlebens.net
 | 
			
		||||
                  siteMonitor: https://unifi.alexlebens.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Network Attached Storage:
 | 
			
		||||
                  icon: sh-synology-light.svg
 | 
			
		||||
                  description: Synology
 | 
			
		||||
                  href: https://synology.alexlebens.net
 | 
			
		||||
                  siteMonitor: https://synology.alexlebens.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: diskstation
 | 
			
		||||
                    url: https://synology.alexlebens.net
 | 
			
		||||
                    username: {{ "{{HOMEPAGE_VAR_SYNOLOGY_USER}}" }}
 | 
			
		||||
                    password: {{ "{{HOMEPAGE_VAR_SYNOLOGY_PASSWORD}}" }}
 | 
			
		||||
                    volume: volume_2
 | 
			
		||||
              - TV Tuner:
 | 
			
		||||
                  icon: sh-hdhomerun.svg
 | 
			
		||||
                  description: HD Homerun
 | 
			
		||||
                  href: http://hdhr.alexlebens.net
 | 
			
		||||
                  siteMonitor: http://hdhr.alexlebens.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - KVM:
 | 
			
		||||
                  icon: sh-pikvm-light.svg
 | 
			
		||||
                  description: Pi KVM
 | 
			
		||||
                  href: https://pikvm.alexlebens.net
 | 
			
		||||
                  siteMonitor: https://pikvm.alexlebens.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - Storage:
 | 
			
		||||
              - Cluster Storage:
 | 
			
		||||
                  icon: ceph.png
 | 
			
		||||
                  description: Ceph
 | 
			
		||||
                  href: https://ceph-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://rook-ceph-mgr-dashboard.rook-ceph:7000
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Database:
 | 
			
		||||
                  icon: sh-pgadmin-light.svg
 | 
			
		||||
                  description: PGAdmin
 | 
			
		||||
                  href: https://pgadmin-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://pgadmin.pgadmin:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Secrets:
 | 
			
		||||
                  icon: sh-hashicorp-vault.svg
 | 
			
		||||
                  description: Vault
 | 
			
		||||
                  href: https://vault-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://vault.vault:8200
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Object Storage (Outline):
 | 
			
		||||
                  icon: sh-minio.svg
 | 
			
		||||
                  description: Minio Tenant
 | 
			
		||||
                  href: https://minio-outline-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://minio-outline-console.outline:9090
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Object Storage (Directus):
 | 
			
		||||
                  icon: sh-minio.svg
 | 
			
		||||
                  description: Minio Tenant
 | 
			
		||||
                  href: https://minio-directus-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://minio-directus-console.directus:9090
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - TV Shows:
 | 
			
		||||
              - Sonarr:
 | 
			
		||||
                  icon: sh-sonarr.svg
 | 
			
		||||
                  description: TV Shows
 | 
			
		||||
                  href: https://sonarr-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://sonarr4.sonarr4:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: sonarr
 | 
			
		||||
                    url: http://sonarr4.sonarr4:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_SONARR_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "series"]
 | 
			
		||||
                    enableQueue: false
 | 
			
		||||
              - Sonarr 4K:
 | 
			
		||||
                  icon: sh-sonarr.svg
 | 
			
		||||
                  description: TV Shows 4K
 | 
			
		||||
                  href: https://sonarr-4k-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://sonarr4-4k.sonarr4-4k:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: sonarr
 | 
			
		||||
                    url: http://sonarr4-4k.sonarr4-4k:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_SONARR4K_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "series"]
 | 
			
		||||
                    enableQueue: false
 | 
			
		||||
              - Sonarr Anime:
 | 
			
		||||
                  icon: sh-sonarr.svg
 | 
			
		||||
                  description: Anime Shows
 | 
			
		||||
                  href: https://sonarr-anime-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://sonarr4-anime.sonarr4-anime:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: sonarr
 | 
			
		||||
                    url: http://sonarr4-anime.sonarr4-anime:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_SONARRANIME_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "series"]
 | 
			
		||||
                    enableQueue: false
 | 
			
		||||
          - Movies:
 | 
			
		||||
              - Radarr:
 | 
			
		||||
                  icon: sh-radarr.svg
 | 
			
		||||
                  description: Movies
 | 
			
		||||
                  href: https://radarr-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://radarr5.radarr5:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: radarr
 | 
			
		||||
                    url: http://radarr5.radarr5:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_RADARR_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "movies"]
 | 
			
		||||
                    enableQueue: false
 | 
			
		||||
              - Radarr 4K:
 | 
			
		||||
                  icon: sh-radarr.svg
 | 
			
		||||
                  description: Movies 4K
 | 
			
		||||
                  href: https://radarr-4k-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://radarr5-4k.radarr5-4k:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: radarr
 | 
			
		||||
                    url: http://radarr5-4k.radarr5-4k:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_RADARR4K_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "movies"]
 | 
			
		||||
                    enableQueue: false
 | 
			
		||||
              - Radarr Anime:
 | 
			
		||||
                  icon: sh-radarr.svg
 | 
			
		||||
                  description: Anime Movies
 | 
			
		||||
                  href: https://radarr-anime-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://radarr5-anime.radarr5-anime:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: radarr
 | 
			
		||||
                    url: http://radarr5-anime.radarr5-anime:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_RADARRANIME_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "movies"]
 | 
			
		||||
                    enableQueue: false
 | 
			
		||||
              - Radarr Stand Up:
 | 
			
		||||
                  icon: sh-radarr.svg
 | 
			
		||||
                  description: Stand Up
 | 
			
		||||
                  href: https://radarr-standup-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://radarr5-standup.radarr5-standup:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: radarr
 | 
			
		||||
                    url: http://radarr5-standup.radarr5-standup:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_RADARRSTANDUP_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "movies"]
 | 
			
		||||
                    enableQueue: false
 | 
			
		||||
          - Music:
 | 
			
		||||
              - Lidarr:
 | 
			
		||||
                  icon: sh-lidarr.svg
 | 
			
		||||
                  description: Music
 | 
			
		||||
                  href: https://lidarr-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://lidarr2.lidarr2:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: lidarr
 | 
			
		||||
                    url: http://lidarr2.lidarr2:80
 | 
			
		||||
                    key: {{ "{{HOMEPAGE_VAR_LIDARR2_KEY}}" }}
 | 
			
		||||
                    fields: ["wanted", "queued", "artists"]
 | 
			
		||||
              - LidaTube:
 | 
			
		||||
                  icon: sh-lidatube.png
 | 
			
		||||
                  description: Searches for Music
 | 
			
		||||
                  href: https://lidatube-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://lidatube.lidatube:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
          - Services (Servarr):
 | 
			
		||||
              - qBittorrent:
 | 
			
		||||
                  icon: sh-qbittorrent.svg
 | 
			
		||||
                  description: P2P Downloads
 | 
			
		||||
                  href: https://qbittorrent-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://qbittorrent.qbittorrent:8080
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: qbittorrent
 | 
			
		||||
                    url: http://qbittorrent.qbittorrent:8080
 | 
			
		||||
                    enableLeechProgress: true
 | 
			
		||||
              - Prowlarr:
 | 
			
		||||
                  icon: sh-prowlarr.svg
 | 
			
		||||
                  description: Indexers
 | 
			
		||||
                  href: https://prowlarr-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://prowlarr.prowlarr:80
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Soulseek:
 | 
			
		||||
                  icon: sh-slskd.png
 | 
			
		||||
                  description: slskd
 | 
			
		||||
                  href: https://slskd-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://slskd.slskd:5030
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - CWA Downloader:
 | 
			
		||||
                  icon: sh-calibre.png
 | 
			
		||||
                  description: Calibre Web Automated Book Downloader
 | 
			
		||||
                  href: https://calibre-downloader-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://calibre-web-automated-downloader.calibre-web-automated:8084
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Tdarr:
 | 
			
		||||
                  icon: sh-tdarr.png
 | 
			
		||||
                  description: Media transcoding and health checks
 | 
			
		||||
                  href: https://tdarr-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: http://tdarr-web.tdarr:8265
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
                  widget:
 | 
			
		||||
                    type: tdarr
 | 
			
		||||
                    url: http://tdarr-web.tdarr:8265
 | 
			
		||||
          - Other Homes:
 | 
			
		||||
              - Dev:
 | 
			
		||||
                  icon: sh-homepage.png
 | 
			
		||||
                  description: Public Homepage
 | 
			
		||||
                  href: https://home.alexlebens.dev
 | 
			
		||||
                  siteMonitor: https://home.alexlebens.dev
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
              - Lebens Home:
 | 
			
		||||
                  icon: sh-homepage.png
 | 
			
		||||
                  description: Lebens Homepage
 | 
			
		||||
                  href: https://home-ps10rp.boreal-beaufort.ts.net
 | 
			
		||||
                  siteMonitor: https://home-ps10rp.boreal-beaufort.ts.net
 | 
			
		||||
                  statusStyle: dot
 | 
			
		||||
        bookmarks.yaml: |
 | 
			
		||||
          - External Services:
 | 
			
		||||
              - Github:
 | 
			
		||||
                  - abbr: GH
 | 
			
		||||
                    href: https://github.com/alexlebens/infrastructure
 | 
			
		||||
              - Renovate:
 | 
			
		||||
                  - abbr: RN
 | 
			
		||||
                    href: https://developer.mend.io/[platform]/alexlebens/infrastructure
 | 
			
		||||
              - Digital Ocean:
 | 
			
		||||
                  - abbr: DO
 | 
			
		||||
                    href: https://www.digitalocean.com/
 | 
			
		||||
              - AWS:
 | 
			
		||||
                  - abbr: AW
 | 
			
		||||
                    href: https://aws.amazon.com/console/
 | 
			
		||||
              - Cloudflare:
 | 
			
		||||
                  - abbr: CF
 | 
			
		||||
                    href: https://dash.cloudflare.com/b76e303258b84076ee01fd0f515c0768
 | 
			
		||||
              - Tailscale:
 | 
			
		||||
                  - abbr: TS
 | 
			
		||||
                    href: https://login.tailscale.com/admin/machines
 | 
			
		||||
              - ProtonVPN:
 | 
			
		||||
                  - abbr: PV
 | 
			
		||||
                    href: https://account.protonvpn.com/
 | 
			
		||||
              - Unifi:
 | 
			
		||||
                  - abbr: UF
 | 
			
		||||
                    href: https://unifi.ui.com/
 | 
			
		||||
              - Pushover:
 | 
			
		||||
                  - abbr: PO
 | 
			
		||||
                    href: https://pushover.net
 | 
			
		||||
              - ReCaptcha:
 | 
			
		||||
                  - abbr: RC
 | 
			
		||||
                    href: https://www.google.com/recaptcha/admin/site/698983587
 | 
			
		||||
          - Trackers:
 | 
			
		||||
              - Torrentleech:
 | 
			
		||||
                  - abbr: TL
 | 
			
		||||
                    href: https://www.torrentleech.org
 | 
			
		||||
              - Avistaz:
 | 
			
		||||
                  - abbr: AV
 | 
			
		||||
                    href: https://avistaz.to
 | 
			
		||||
              - Cinemaz:
 | 
			
		||||
                  - abbr: CM
 | 
			
		||||
                    href: https://cinemaz.to
 | 
			
		||||
              - Cathode Ray Tube:
 | 
			
		||||
                  - abbr: CRT
 | 
			
		||||
                    href: https://www.cathode-ray.tube
 | 
			
		||||
              - Alpha Ratio:
 | 
			
		||||
                  - abbr: AL
 | 
			
		||||
                    href: https://alpharatio.cc/
 | 
			
		||||
              - MV Group:
 | 
			
		||||
                  - abbr: MV
 | 
			
		||||
                    href: https://forums.mvgroup.org
 | 
			
		||||
  service:
 | 
			
		||||
    http:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 3000
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: home-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: homepage
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - home-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      type: configMap
 | 
			
		||||
      name: homepage-config
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/config/bookmarks.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: bookmarks.yaml
 | 
			
		||||
            - path: /app/config/docker.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: docker.yaml
 | 
			
		||||
            - path: /app/config/kubernetes.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: kubernetes.yaml
 | 
			
		||||
            - path: /app/config/services.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: services.yaml
 | 
			
		||||
            - path: /app/config/settings.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: settings.yaml
 | 
			
		||||
            - path: /app/config/widgets.yaml
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: widgets.yaml
 | 
			
		||||
@@ -1,31 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: immich
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Immich
 | 
			
		||||
keywords:
 | 
			
		||||
  - immich
 | 
			
		||||
  - photos
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/immich-AVxvAWeWQ5
 | 
			
		||||
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: immich
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: valkey
 | 
			
		||||
    version: 2.4.0
 | 
			
		||||
    repository: https://charts.bitnami.com/bitnami
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-16-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/immich-app/immich/main/design/immich-logo.svg
 | 
			
		||||
appVersion: v1.123.0
 | 
			
		||||
@@ -1,55 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: immich-config-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: immich-config-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: config
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: immich.json
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/immich/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: immich.json
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: immich-postgresql-16-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: immich-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: /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
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: immich-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: immich-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: immich-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: immich-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: immich-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/Immich
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: ServiceMonitor
 | 
			
		||||
metadata:
 | 
			
		||||
  name: immich
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: immich
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: metrics
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      app.kubernetes.io/name: immich
 | 
			
		||||
      app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
  endpoints:
 | 
			
		||||
    - port: metrics-api
 | 
			
		||||
      interval: 3m
 | 
			
		||||
      scrapeTimeout: 1m
 | 
			
		||||
      path: /metrics
 | 
			
		||||
    - port: metrics-ms
 | 
			
		||||
      interval: 3m
 | 
			
		||||
      scrapeTimeout: 1m
 | 
			
		||||
      path: /metrics
 | 
			
		||||
@@ -1,251 +0,0 @@
 | 
			
		||||
immich:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/immich-app/immich-server
 | 
			
		||||
            tag: v1.128.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: IMMICH_TELEMETRY_INCLUDE
 | 
			
		||||
              value: all
 | 
			
		||||
            - name: IMMICH_CONFIG_FILE
 | 
			
		||||
              value: /config/immich.json
 | 
			
		||||
            - name: IMMICH_MACHINE_LEARNING_URL
 | 
			
		||||
              value: http://immich-machine-learning.immich:3003
 | 
			
		||||
            - name: REDIS_HOSTNAME
 | 
			
		||||
              value: immich-valkey-primary
 | 
			
		||||
            - name: DB_VECTOR_EXTENSION
 | 
			
		||||
              value: pgvecto.rs
 | 
			
		||||
            - name: DB_HOSTNAME
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: immich-postgresql-16-cluster-app
 | 
			
		||||
                  key: host
 | 
			
		||||
            - name: DB_DATABASE_NAME
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: immich-postgresql-16-cluster-app
 | 
			
		||||
                  key: dbname
 | 
			
		||||
            - name: DB_PORT
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: immich-postgresql-16-cluster-app
 | 
			
		||||
                  key: port
 | 
			
		||||
            - name: DB_USERNAME
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: immich-postgresql-16-cluster-app
 | 
			
		||||
                  key: user
 | 
			
		||||
            - name: DB_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: immich-postgresql-16-cluster-app
 | 
			
		||||
                  key: password
 | 
			
		||||
          probes:
 | 
			
		||||
            liveness:
 | 
			
		||||
              enabled: true
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                httpGet:
 | 
			
		||||
                  path: /api/server/ping
 | 
			
		||||
                  port: 2283
 | 
			
		||||
                initialDelaySeconds: 0
 | 
			
		||||
                periodSeconds: 10
 | 
			
		||||
                timeoutSeconds: 1
 | 
			
		||||
                failureThreshold: 3
 | 
			
		||||
            readiness:
 | 
			
		||||
              enabled: true
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                httpGet:
 | 
			
		||||
                  path: /api/server/ping
 | 
			
		||||
                  port: 2283
 | 
			
		||||
                initialDelaySeconds: 0
 | 
			
		||||
                periodSeconds: 10
 | 
			
		||||
                timeoutSeconds: 1
 | 
			
		||||
                failureThreshold: 3
 | 
			
		||||
            startup:
 | 
			
		||||
              enabled: true
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                httpGet:
 | 
			
		||||
                  path: /api/server/ping
 | 
			
		||||
                  port: 2283
 | 
			
		||||
                initialDelaySeconds: 0
 | 
			
		||||
                periodSeconds: 10
 | 
			
		||||
                timeoutSeconds: 1
 | 
			
		||||
                failureThreshold: 30
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
            limits:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 2
 | 
			
		||||
    machine-learning:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/immich-app/immich-machine-learning
 | 
			
		||||
            tag: v1.128.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TRANSFORMERS_CACHE
 | 
			
		||||
              value: /cache
 | 
			
		||||
          probes:
 | 
			
		||||
            liveness:
 | 
			
		||||
              enabled: true
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                httpGet:
 | 
			
		||||
                  path: /ping
 | 
			
		||||
                  port: 3003
 | 
			
		||||
                initialDelaySeconds: 0
 | 
			
		||||
                periodSeconds: 10
 | 
			
		||||
                timeoutSeconds: 1
 | 
			
		||||
                failureThreshold: 3
 | 
			
		||||
            readiness:
 | 
			
		||||
              enabled: true
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                httpGet:
 | 
			
		||||
                  path: /ping
 | 
			
		||||
                  port: 3003
 | 
			
		||||
                initialDelaySeconds: 0
 | 
			
		||||
                periodSeconds: 10
 | 
			
		||||
                timeoutSeconds: 1
 | 
			
		||||
                failureThreshold: 3
 | 
			
		||||
            startup:
 | 
			
		||||
              enabled: false
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
            limits:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 8
 | 
			
		||||
              memory: 10Gi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 2283
 | 
			
		||||
          targetPort: 2283
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
        metrics-api:
 | 
			
		||||
          port: 8081
 | 
			
		||||
          targetPort: 8081
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
        metrics-ms:
 | 
			
		||||
          port: 8082
 | 
			
		||||
          targetPort: 8082
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
    machine-learning:
 | 
			
		||||
      controller: machine-learning
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 3003
 | 
			
		||||
          targetPort: 3003
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
  ingress:
 | 
			
		||||
    main:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: immich-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: immich-main
 | 
			
		||||
                port: 2283
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - immich-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      type: secret
 | 
			
		||||
      name: immich-config-secret
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config/immich.json
 | 
			
		||||
              readOnly: true
 | 
			
		||||
              mountPropagation: None
 | 
			
		||||
              subPath: immich.json
 | 
			
		||||
    media:
 | 
			
		||||
      existingClaim: immich-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /usr/src/app/upload
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    cache:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 10Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        machine-learning:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /cache
 | 
			
		||||
              readOnly: false
 | 
			
		||||
valkey:
 | 
			
		||||
  architecture: standalone
 | 
			
		||||
  auth:
 | 
			
		||||
    enabled: false
 | 
			
		||||
    usePasswordFiles: false
 | 
			
		||||
  primary:
 | 
			
		||||
    persistence:
 | 
			
		||||
      enabled: false
 | 
			
		||||
  replica:
 | 
			
		||||
    persistence:
 | 
			
		||||
      enabled: false
 | 
			
		||||
postgres-16-cluster:
 | 
			
		||||
  # Tensorchord
 | 
			
		||||
  #--- https://github.com/immich-app/immich/discussions/9060
 | 
			
		||||
  #--- https://docs.pgvecto.rs/admin/kubernetes.html
 | 
			
		||||
  #--- https://github.com/tensorchord/cloudnative-pgvecto.rs
 | 
			
		||||
  type: tensorchord
 | 
			
		||||
  mode: standalone
 | 
			
		||||
  cluster:
 | 
			
		||||
    image:
 | 
			
		||||
      repository: ghcr.io/tensorchord/cloudnative-pgvecto.rs
 | 
			
		||||
      tag: 16.3-v0.2.1
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    resources:
 | 
			
		||||
      requests:
 | 
			
		||||
        memory: 384Mi
 | 
			
		||||
        cpu: 200m
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
    postgresql:
 | 
			
		||||
      parameters:
 | 
			
		||||
        shared_buffers: 256MB
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/immich/immich-postgresql-16-cluster
 | 
			
		||||
    endpointCredentials: immich-postgresql-16-cluster-backup-secret
 | 
			
		||||
    backupIndex: 1
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: jellyfin
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Jellyfin
 | 
			
		||||
keywords:
 | 
			
		||||
  - jellyfin
 | 
			
		||||
  - media
 | 
			
		||||
  - movies
 | 
			
		||||
  - tv shows
 | 
			
		||||
  - books
 | 
			
		||||
  - music
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/jellyfin-li98lrEiuA
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/jellyfin/jellyfin
 | 
			
		||||
  - https://github.com/jellyfin/jellyfin-vue
 | 
			
		||||
  - https://hub.docker.com/r/jellyfin/jellyfin
 | 
			
		||||
  - https://github.com/jellyfin/jellyfin-vue/pkgs/container/jellyfin-vue
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: jellyfin
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/jellyfin.png
 | 
			
		||||
appVersion: 10.10.3
 | 
			
		||||
@@ -1,57 +0,0 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: jellyfin-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: jellyfin-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 }}` }}/jellyfin/jellyfin-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
 | 
			
		||||
@@ -1,40 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: jellyfin-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: jellyfin-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: jellyfin-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: jellyfin-youtube-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: jellyfin-youtube-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: jellyfin-youtube-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadOnlyMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,52 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: jellyfin-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: jellyfin-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
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: jellyfin-youtube-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: jellyfin-youtube-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:
 | 
			
		||||
    - ReadOnlyMany
 | 
			
		||||
  nfs:
 | 
			
		||||
    path: /volume2/Storage/YouTube
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: jellyfin-config-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: jellyfin-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: jellyfin-config
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: jellyfin-config-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,104 +0,0 @@
 | 
			
		||||
jellyfin:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/jellyfin/jellyfin
 | 
			
		||||
            tag: 10.10.6
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: JELLYFIN_hostwebclient
 | 
			
		||||
              value: true
 | 
			
		||||
            - name: JELLYFIN_PublishedServerUrl
 | 
			
		||||
              value: https://jellyfin-cl01tl.boreal-beaufort.ts.net/
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 1
 | 
			
		||||
              memory: 2Gi
 | 
			
		||||
            limits:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 4
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 8096
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale-main:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: jellyfin-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: jellyfin
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - jellyfin-cl01tl
 | 
			
		||||
    traefik:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: 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: jellyfin.alexlebens.net
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: jellyfin
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - jellyfin.alexlebens.net
 | 
			
		||||
          secretName: jellyfin-tls-secret
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 60Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    cache:
 | 
			
		||||
      type: emptyDir
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /cache
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    media:
 | 
			
		||||
      existingClaim: jellyfin-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    youtube:
 | 
			
		||||
      existingClaim: jellyfin-youtube-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/youtube
 | 
			
		||||
              readOnly: true
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: jellystat
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Jellystat
 | 
			
		||||
keywords:
 | 
			
		||||
  - jellystat
 | 
			
		||||
  - jellyfin
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/jellystat-0FixP7GqGZ
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/CyferShepard/Jellystat
 | 
			
		||||
  - https://github.com/cloudnative-pg/cloudnative-pg
 | 
			
		||||
  - https://hub.docker.com/r/cyfershepard/jellystat
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/postgres-cluster
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: jellystat
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-17-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/jellystat.png
 | 
			
		||||
appVersion: 1.1.1
 | 
			
		||||
@@ -1,128 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: jellystat-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: jellystat-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: secret-key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/jellystat/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret-key
 | 
			
		||||
    - secretKey: user
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/jellystat/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: user
 | 
			
		||||
    - secretKey: password
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/jellystat/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: password
 | 
			
		||||
 | 
			
		||||
# ---
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: jellystat-data-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: jellystat-data-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 }}` }}/jellystat/jellystat-data"
 | 
			
		||||
#   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: jellystat-postgresql-17-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: jellystat-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
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: jellystat-data-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: jellystat-data-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: jellystat-data
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: jellystat-data-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,112 +0,0 @@
 | 
			
		||||
jellystat:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: cyfershepard/jellystat
 | 
			
		||||
            tag: 1.1.3
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: JWT_SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-secret
 | 
			
		||||
                  key: secret-key
 | 
			
		||||
            - name: JS_USER
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-secret
 | 
			
		||||
                  key: user
 | 
			
		||||
            - name: JS_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-secret
 | 
			
		||||
                  key: password
 | 
			
		||||
            - name: POSTGRES_USER
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-postgresql-17-cluster-app
 | 
			
		||||
                  key: username
 | 
			
		||||
            - name: POSTGRES_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-postgresql-17-cluster-app
 | 
			
		||||
                  key: password
 | 
			
		||||
            - name: POSTGRES_DB
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-postgresql-17-cluster-app
 | 
			
		||||
                  key: dbname
 | 
			
		||||
            - name: POSTGRES_IP
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-postgresql-17-cluster-app
 | 
			
		||||
                  key: host
 | 
			
		||||
            - name: POSTGRES_PORT
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: jellystat-postgresql-17-cluster-app
 | 
			
		||||
                  key: port
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 3000
 | 
			
		||||
          targetPort: 3000
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: jellystat-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: jellystat
 | 
			
		||||
                port: 3000
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - jellystat-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    data:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 5Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/backend/backup-data
 | 
			
		||||
              readOnly: false
 | 
			
		||||
postgres-17-cluster:
 | 
			
		||||
  mode: standalone
 | 
			
		||||
  cluster:
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/jellystat/jellystat-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: jellystat-postgresql-17-cluster-backup-secret
 | 
			
		||||
    backupIndex: 1
 | 
			
		||||
    retentionPolicy: "7d"
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: kiwix
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Kiwix
 | 
			
		||||
keywords:
 | 
			
		||||
  - kiwix
 | 
			
		||||
  - wikipedia
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/kiwix-
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/kiwix
 | 
			
		||||
  - https://github.com/kiwix/kiwix-tools/pkgs/container/kiwix-serve
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: kiwix
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/svg/kiwix-light.svg
 | 
			
		||||
appVersion: 3.7.0
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: kiwix-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: kiwix-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: kiwix-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: kiwix-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: kiwix-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/Kiwix
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
@@ -1,55 +0,0 @@
 | 
			
		||||
kiwix:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/kiwix/kiwix-serve
 | 
			
		||||
            tag: 3.7.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          args:
 | 
			
		||||
            - '*.zim'
 | 
			
		||||
          env:
 | 
			
		||||
            - name: PORT
 | 
			
		||||
              value: 8080
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 50m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 8080
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: kiwix-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: kiwix
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - kiwix-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    media:
 | 
			
		||||
      existingClaim: kiwix-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /data
 | 
			
		||||
              readOnly: true
 | 
			
		||||
@@ -1,22 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: libation
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Libation
 | 
			
		||||
keywords:
 | 
			
		||||
  - libation
 | 
			
		||||
  - audiobooks
 | 
			
		||||
  - audible
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/libation-bbiuA1SKtu
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/rmcrackan/Libation
 | 
			
		||||
  - https://hub.docker.com/r/rmcrackan/libation
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: libation
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://getlibation.com/images/libation-logo.png
 | 
			
		||||
appVersion: 11.6.3
 | 
			
		||||
@@ -1,40 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: libation-config
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: libation-config
 | 
			
		||||
    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:
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteOnce
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
  volumeMode: Filesystem
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: libation-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: libation-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: libation-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: libation-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: libation-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/Audiobooks/
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
@@ -1,44 +0,0 @@
 | 
			
		||||
libation:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: cronjob
 | 
			
		||||
      cronjob:
 | 
			
		||||
        suspend: false
 | 
			
		||||
        concurrencyPolicy: Forbid
 | 
			
		||||
        timeZone: US/Central
 | 
			
		||||
        schedule: "0 * * * *"
 | 
			
		||||
        startingDeadlineSeconds: 90
 | 
			
		||||
        successfulJobsHistory: 3
 | 
			
		||||
        failedJobsHistory: 3
 | 
			
		||||
        backoffLimit: 3
 | 
			
		||||
        parallelism: 1
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: rmcrackan/libation
 | 
			
		||||
            tag: 12.0.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: SLEEP_TIME
 | 
			
		||||
              value: "-1"
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      existingClaim: libation-config
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    data:
 | 
			
		||||
      existingClaim: libation-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /data
 | 
			
		||||
              readOnly: false
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: lidarr2
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Lidarr
 | 
			
		||||
keywords:
 | 
			
		||||
  - lidarr
 | 
			
		||||
  - servarr
 | 
			
		||||
  - music
 | 
			
		||||
  - metrics
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/lidarr-BIqpxux60p
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/Lidarr/Lidarr
 | 
			
		||||
  - https://github.com/linuxserver/docker-lidarr
 | 
			
		||||
  - https://github.com/cloudnative-pg/cloudnative-pg
 | 
			
		||||
  - https://github.com/onedr0p/exportarr/pkgs/container/exportarr
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/postgres-cluster
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: lidarr2
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-17-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/lidarr.png
 | 
			
		||||
appVersion: 2.8.2
 | 
			
		||||
@@ -1,89 +0,0 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: lidarr2-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: lidarr2-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 }}` }}/lidarr2/lidarr2-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: lidarr2-postgresql-17-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr2-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
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr2-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr2-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: lidarr2-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr2-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr2-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
 | 
			
		||||
@@ -1,34 +0,0 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: PrometheusRule
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr2
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr2
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: metrics
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  groups:
 | 
			
		||||
    - name: lidarr2
 | 
			
		||||
      rules:
 | 
			
		||||
        - alert: ExportarrAbsent
 | 
			
		||||
          annotations:
 | 
			
		||||
            description: Lidarr Exportarr has disappeared from Prometheus
 | 
			
		||||
              service discovery.
 | 
			
		||||
            summary: Exportarr is down.
 | 
			
		||||
          expr: |
 | 
			
		||||
            absent(up{job=~".*lidarr2.*"} == 1)
 | 
			
		||||
          for: 5m
 | 
			
		||||
          labels:
 | 
			
		||||
            severity: critical
 | 
			
		||||
        - alert: LidarrDown
 | 
			
		||||
          annotations:
 | 
			
		||||
            description: Lidarr service is down.
 | 
			
		||||
            summary: Lidarr is down.
 | 
			
		||||
          expr: |
 | 
			
		||||
            lidarr_system_status{job=~".*lidarr2.*"} == 0
 | 
			
		||||
          for: 5m
 | 
			
		||||
          labels:
 | 
			
		||||
            severity: critical
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: lidarr2-config-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: lidarr2-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: lidarr2-config
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: lidarr2-config-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     moverSecurityContext:
 | 
			
		||||
#       runAsUser: 1000
 | 
			
		||||
#       runAsGroup: 1000
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: ServiceMonitor
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidarr2
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidarr2
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: metrics
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      app.kubernetes.io/name: lidarr2
 | 
			
		||||
      app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
  endpoints:
 | 
			
		||||
    - port: metrics
 | 
			
		||||
      interval: 3m
 | 
			
		||||
      scrapeTimeout: 1m
 | 
			
		||||
      path: /metrics
 | 
			
		||||
@@ -1,143 +0,0 @@
 | 
			
		||||
lidarr2:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        securityContext:
 | 
			
		||||
          runAsUser: 1000
 | 
			
		||||
          runAsGroup: 1000
 | 
			
		||||
          fsGroup: 1000
 | 
			
		||||
          fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/linuxserver/lidarr
 | 
			
		||||
            tag: version-2.8.2.4493@sha256:108ecf0fcbd8f77b6e8a513be6f3446feb47666dd1b45ea360569e9aac0960e4
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 1000
 | 
			
		||||
          probes:
 | 
			
		||||
            liveness:
 | 
			
		||||
              enabled: true
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                exec:
 | 
			
		||||
                  command:
 | 
			
		||||
                  - /usr/bin/env
 | 
			
		||||
                  - bash
 | 
			
		||||
                  - -c
 | 
			
		||||
                  - curl --fail localhost:8686/api/v1/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
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
        metrics:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/onedr0p/exportarr
 | 
			
		||||
            tag: v2.0.1
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          args: ["lidarr"]
 | 
			
		||||
          env:
 | 
			
		||||
            - name: URL
 | 
			
		||||
              value: http://localhost
 | 
			
		||||
            - name: CONFIG
 | 
			
		||||
              value: /config/config.xml
 | 
			
		||||
            - name: PORT
 | 
			
		||||
              value: 9792
 | 
			
		||||
            - name: ENABLE_ADDITIONAL_METRICS
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: ENABLE_UNKNOWN_QUEUE_ITEMS
 | 
			
		||||
              value: false
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 100m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 8686
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
        metrics:
 | 
			
		||||
          port: 9792
 | 
			
		||||
          targetPort: 9792
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: lidarr-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: lidarr2
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - lidarr-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 10Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
          metrics:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: true
 | 
			
		||||
    media:
 | 
			
		||||
      existingClaim: lidarr2-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: false
 | 
			
		||||
postgres-17-cluster:
 | 
			
		||||
  mode: standalone
 | 
			
		||||
  cluster:
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    resources:
 | 
			
		||||
      requests:
 | 
			
		||||
        memory: 1Gi
 | 
			
		||||
        cpu: 200m
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  bootstrap:
 | 
			
		||||
    initdb:
 | 
			
		||||
      postInitSQL:
 | 
			
		||||
        - CREATE DATABASE "lidarr-main" OWNER "app";
 | 
			
		||||
        - CREATE DATABASE "lidarr-log" OWNER "app";
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/lidarr2/lidarr2-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: lidarr2-postgresql-17-cluster-backup-secret
 | 
			
		||||
    backupIndex: 2
 | 
			
		||||
    retentionPolicy: "7d"
 | 
			
		||||
@@ -1,22 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: lidatube
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: LidaTube
 | 
			
		||||
keywords:
 | 
			
		||||
  - lidatube
 | 
			
		||||
  - music
 | 
			
		||||
  - yt-dlp
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/lidatube-Rm5ioxwcaS
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/TheWicklowWolf/LidaTube
 | 
			
		||||
  - https://registry.hub.docker.com/r/thewicklowwolf/lidatube
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: lidatube
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/TheWicklowWolf/LidaTube/main/src/static/lidatube.png
 | 
			
		||||
appVersion: 0.2.9
 | 
			
		||||
@@ -1,23 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidatube-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidatube-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: lidarr_api_key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/lidarr2/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: key
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidatube-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidatube-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: lidatube-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: lidatube-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: lidatube-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/Music
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
@@ -1,82 +0,0 @@
 | 
			
		||||
lidatube:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        securityContext:
 | 
			
		||||
          fsGroup: 1000
 | 
			
		||||
          fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: thewicklowwolf/lidatube
 | 
			
		||||
            tag: 0.2.16
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: PUID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: PGID
 | 
			
		||||
              value: 1000
 | 
			
		||||
            - name: lidarr_address
 | 
			
		||||
              value: http://lidarr2.lidarr2:80
 | 
			
		||||
            - name: lidarr_api_key
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: lidatube-secret
 | 
			
		||||
                  key: lidarr_api_key
 | 
			
		||||
            - name: sleep_interval
 | 
			
		||||
              value: 360
 | 
			
		||||
            - name: sync_schedule
 | 
			
		||||
              value: 4
 | 
			
		||||
            - name: attempt_lidarr_import
 | 
			
		||||
              value: true
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 128Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 5000
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: lidatube-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: lidatube
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - lidatube-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 5Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /lidatube/config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    music:
 | 
			
		||||
      existingClaim: lidatube-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /lidatube/downloads
 | 
			
		||||
              readOnly: false
 | 
			
		||||
@@ -1,49 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: outline
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Outline
 | 
			
		||||
keywords:
 | 
			
		||||
  - outline
 | 
			
		||||
  - wiki
 | 
			
		||||
  - documentation
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/outline-JOaS8Mn0Bt
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/outline/outline
 | 
			
		||||
  - https://github.com/minio/operator
 | 
			
		||||
  - https://github.com/valkey-io/valkey
 | 
			
		||||
  - https://github.com/cloudflare/cloudflared
 | 
			
		||||
  - https://github.com/cloudnative-pg/cloudnative-pg
 | 
			
		||||
  - https://hub.docker.com/r/outlinewiki/outline
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/minio/operator/tree/master/helm/tenant
 | 
			
		||||
  - https://github.com/bitnami/charts/tree/main/bitnami/valkey
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/cloudflared
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/postgres-cluster
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: outline
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: tenant
 | 
			
		||||
    alias: minio
 | 
			
		||||
    version: 7.0.0
 | 
			
		||||
    repository: https://operator.min.io/
 | 
			
		||||
  - name: valkey
 | 
			
		||||
    version: 2.4.0
 | 
			
		||||
    repository: https://charts.bitnami.com/bitnami
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared-outline
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
  - name: cloudflared
 | 
			
		||||
    alias: cloudflared-minio
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
    version: 1.14.0
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-17-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/outline.png
 | 
			
		||||
appVersion: 0.81.1
 | 
			
		||||
@@ -1,226 +0,0 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-key-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-key-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: secret-key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/outline/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret-key
 | 
			
		||||
    - secretKey: utils-key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/outline/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: utils-key
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-oidc-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-oidc-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: client
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/outline
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: client
 | 
			
		||||
    - secretKey: secret
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /authentik/oidc/outline
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: secret
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-minio-user-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-minio-user-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: AWS_ACCESS_KEY_ID
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/outline/minio/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: AWS_ACCESS_KEY_ID
 | 
			
		||||
    - secretKey: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/outline/minio/auth
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-minio-root-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-minio-root-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: config.env
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/outline/minio/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: root-config.env
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-minio-config-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-minio-config-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: config.env
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cl01tl/outline/minio/config
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: config.env
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/outline
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-minio-cloudflared-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-cloudflared-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: cf-tunnel-token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /cloudflare/tunnels/outline-minio
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: token
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: outline-postgresql-17-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: outline-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
 | 
			
		||||
@@ -1,209 +0,0 @@
 | 
			
		||||
outline:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: outlinewiki/outline
 | 
			
		||||
            tag: 0.82.0
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: NODE_ENV
 | 
			
		||||
              value: production
 | 
			
		||||
            - name: URL
 | 
			
		||||
              value: https://wiki.alexlebens.dev
 | 
			
		||||
            - name: PORT
 | 
			
		||||
              value: 3000
 | 
			
		||||
            - name: SECRET_KEY
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-key-secret
 | 
			
		||||
                  key: secret-key
 | 
			
		||||
            - name: UTILS_SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-key-secret
 | 
			
		||||
                  key: utils-key
 | 
			
		||||
            - name: POSTGRES_USERNAME
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-postgresql-17-cluster-app
 | 
			
		||||
                  key: username
 | 
			
		||||
            - name: POSTGRES_PASSWORD
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-postgresql-17-cluster-app
 | 
			
		||||
                  key: password
 | 
			
		||||
            - name: POSTGRES_DATABASE_NAME
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-postgresql-17-cluster-app
 | 
			
		||||
                  key: dbname
 | 
			
		||||
            - name: POSTGRES_DATABASE_HOST
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-postgresql-17-cluster-app
 | 
			
		||||
                  key: host
 | 
			
		||||
            - name: POSTGRES_DATABASE_PORT
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-postgresql-17-cluster-app
 | 
			
		||||
                  key: port
 | 
			
		||||
            - name: DATABASE_URL
 | 
			
		||||
              value: postgres://$(POSTGRES_USERNAME):$(POSTGRES_PASSWORD)@$(POSTGRES_DATABASE_HOST):$(POSTGRES_DATABASE_PORT)/$(POSTGRES_DATABASE_NAME)
 | 
			
		||||
            - name: DATABASE_URL_TEST
 | 
			
		||||
              value: postgres://$(POSTGRES_USERNAME):$(POSTGRES_PASSWORD)@$(POSTGRES_DATABASE_HOST):$(POSTGRES_DATABASE_PORT)/$(POSTGRES_DATABASE_NAME)-test
 | 
			
		||||
            - name: DATABASE_CONNECTION_POOL_MIN
 | 
			
		||||
              value: "2"
 | 
			
		||||
            - name: DATABASE_CONNECTION_POOL_MAX
 | 
			
		||||
              value: "20"
 | 
			
		||||
            - name: PGSSLMODE
 | 
			
		||||
              value: disable
 | 
			
		||||
            - name: REDIS_URL
 | 
			
		||||
              value: redis://outline-valkey-primary.outline:6379
 | 
			
		||||
            - name: FILE_STORAGE
 | 
			
		||||
              value: s3
 | 
			
		||||
            - name: AWS_ACCESS_KEY_ID
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-minio-user-secret
 | 
			
		||||
                  key: AWS_ACCESS_KEY_ID
 | 
			
		||||
            - name: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-minio-user-secret
 | 
			
		||||
                  key: AWS_SECRET_ACCESS_KEY
 | 
			
		||||
            - name: AWS_REGION
 | 
			
		||||
              value: us-east-1
 | 
			
		||||
            - name: AWS_S3_UPLOAD_BUCKET_NAME
 | 
			
		||||
              value: outline
 | 
			
		||||
            - name: AWS_S3_UPLOAD_BUCKET_URL
 | 
			
		||||
              value: https://outline-storage.alexlebens.dev/outline
 | 
			
		||||
            - name: AWS_S3_ACCELERATE_URL
 | 
			
		||||
              value: https://outline-storage.alexlebens.dev/outline
 | 
			
		||||
            - name: AWS_S3_FORCE_PATH_STYLE
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: AWS_S3_ACL
 | 
			
		||||
              value: private
 | 
			
		||||
            - name: FILE_STORAGE_UPLOAD_MAX_SIZE
 | 
			
		||||
              value: "26214400"
 | 
			
		||||
            - name: FORCE_HTTPS
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: ENABLE_UPDATES
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: WEB_CONCURRENCY
 | 
			
		||||
              value: 1
 | 
			
		||||
            - name: FILE_STORAGE_IMPORT_MAX_SIZE
 | 
			
		||||
              value: 5120000
 | 
			
		||||
            - name: LOG_LEVEL
 | 
			
		||||
              value: info
 | 
			
		||||
            - name: DEFAULT_LANGUAGE
 | 
			
		||||
              value: en_US
 | 
			
		||||
            - name: RATE_LIMITER_ENABLED
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: DEVELOPMENT_UNSAFE_INLINE_CSP
 | 
			
		||||
              value: false
 | 
			
		||||
            - name: OIDC_CLIENT_ID
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-oidc-secret
 | 
			
		||||
                  key: client
 | 
			
		||||
            - name: OIDC_CLIENT_SECRET
 | 
			
		||||
              valueFrom:
 | 
			
		||||
                secretKeyRef:
 | 
			
		||||
                  name: outline-oidc-secret
 | 
			
		||||
                  key: secret
 | 
			
		||||
            - name: OIDC_AUTH_URI
 | 
			
		||||
              value: https://auth.alexlebens.dev/application/o/authorize/
 | 
			
		||||
            - name: OIDC_TOKEN_URI
 | 
			
		||||
              value: https://auth.alexlebens.dev/application/o/token/
 | 
			
		||||
            - name: OIDC_USERINFO_URI
 | 
			
		||||
              value: https://auth.alexlebens.dev/application/o/userinfo/
 | 
			
		||||
            - name: OIDC_USERNAME_CLAIM
 | 
			
		||||
              value: email
 | 
			
		||||
            - name: OIDC_DISPLAY_NAME
 | 
			
		||||
              value: Authentik
 | 
			
		||||
            - name: OIDC_SCOPES
 | 
			
		||||
              value: openid profile email
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 3000
 | 
			
		||||
          targetPort: 3000
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
minio:
 | 
			
		||||
  existingSecret:
 | 
			
		||||
    name: outline-minio-root-secret
 | 
			
		||||
  tenant:
 | 
			
		||||
    name: minio-outline
 | 
			
		||||
    configuration:
 | 
			
		||||
      name: outline-minio-config-secret
 | 
			
		||||
    pools:
 | 
			
		||||
      - servers: 3
 | 
			
		||||
        name: pool
 | 
			
		||||
        volumesPerServer: 2
 | 
			
		||||
        size: 10Gi
 | 
			
		||||
        storageClassName: ceph-block
 | 
			
		||||
    mountPath: /export
 | 
			
		||||
    subPath: /data
 | 
			
		||||
    metrics:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      port: 9000
 | 
			
		||||
      protocol: http
 | 
			
		||||
    certificate:
 | 
			
		||||
      requestAutoCert: false
 | 
			
		||||
  ingress:
 | 
			
		||||
    console:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      ingressClassName: tailscale
 | 
			
		||||
      tls:
 | 
			
		||||
        - secretName: minio-outline-cl01tl
 | 
			
		||||
          hosts:
 | 
			
		||||
            - minio-outline-cl01tl
 | 
			
		||||
      host: minio-outline-cl01tl
 | 
			
		||||
      path: /
 | 
			
		||||
      pathType: Prefix
 | 
			
		||||
valkey:
 | 
			
		||||
  architecture: standalone
 | 
			
		||||
  auth:
 | 
			
		||||
    enabled: false
 | 
			
		||||
    usePasswordFiles: false
 | 
			
		||||
  primary:
 | 
			
		||||
    persistence:
 | 
			
		||||
      enabled: false
 | 
			
		||||
  replica:
 | 
			
		||||
    persistence:
 | 
			
		||||
      enabled: false
 | 
			
		||||
cloudflared-outline:
 | 
			
		||||
  existingSecretName: outline-cloudflared-secret
 | 
			
		||||
  name: cloudflared-outline
 | 
			
		||||
cloudflared-minio:
 | 
			
		||||
  existingSecretName: outline-minio-cloudflared-secret
 | 
			
		||||
  name: cloudflared-minio
 | 
			
		||||
postgres-17-cluster:
 | 
			
		||||
  mode: standalone
 | 
			
		||||
  cluster:
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/outline/outline-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: outline-postgresql-17-cluster-backup-secret
 | 
			
		||||
    backupIndex: 1
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: overseerr
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Overseerr
 | 
			
		||||
keywords:
 | 
			
		||||
  - overseer
 | 
			
		||||
  - media
 | 
			
		||||
  - request
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/overseerr-pCUN6XnGR5
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/sct/overseerr
 | 
			
		||||
  - https://github.com/sct/overseerr/pkgs/container/overseerr
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/overseerr.png
 | 
			
		||||
appVersion: 1.33.2
 | 
			
		||||
@@ -1,57 +0,0 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: overseerr-main-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: overseerr-main-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 }}` }}/overseerr/overseerr-main"
 | 
			
		||||
#   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
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: overseerr-main-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: overseerr-main-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: overseerr-main
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: overseerr-main-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,56 +0,0 @@
 | 
			
		||||
app-template:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/sct/overseerr
 | 
			
		||||
            tag: 1.33.2
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 5055
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: overseerr-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: overseerr
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - overseerr-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    main:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 10Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /app/config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
@@ -1,28 +0,0 @@
 | 
			
		||||
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.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/photoview.png
 | 
			
		||||
appVersion: 2.4.0
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
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
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
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
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
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
 | 
			
		||||
@@ -1,108 +0,0 @@
 | 
			
		||||
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:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
  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: standalone
 | 
			
		||||
  cluster:
 | 
			
		||||
    walStorage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    storage:
 | 
			
		||||
      storageClass: local-path
 | 
			
		||||
    monitoring:
 | 
			
		||||
      enabled: true
 | 
			
		||||
  backup:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    endpointURL: https://nyc3.digitaloceanspaces.com
 | 
			
		||||
    destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/photoview/photoview-postgresql-17-cluster
 | 
			
		||||
    endpointCredentials: photoview-postgresql-17-cluster-backup-secret
 | 
			
		||||
    backupIndex: 2
 | 
			
		||||
    retentionPolicy: "7d"
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: plex
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Plex
 | 
			
		||||
keywords:
 | 
			
		||||
  - plex
 | 
			
		||||
  - tv shows
 | 
			
		||||
  - movies
 | 
			
		||||
  - music
 | 
			
		||||
  - photos
 | 
			
		||||
  - live tv
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/plex-seA2AdTB59
 | 
			
		||||
sources:
 | 
			
		||||
  - https://www.plex.tv/
 | 
			
		||||
  - https://github.com/onedr0p/containers/pkgs/container/plex
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: plex
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/plex.png
 | 
			
		||||
appVersion: 1.41.3.9292
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: plex-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: plex-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: plex-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: plex-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: plex-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
 | 
			
		||||
@@ -1,94 +0,0 @@
 | 
			
		||||
plex:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/linuxserver/plex
 | 
			
		||||
            tag: 1.41.4@sha256:3f8bae7222401c135eb38056f35d77100b5b3db764f9fde21db92405366dc05c
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
            - name: VERSION
 | 
			
		||||
              value: docker
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 512Mi
 | 
			
		||||
            limits:
 | 
			
		||||
              gpu.intel.com/i915: 1
 | 
			
		||||
              cpu: 4
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 32400
 | 
			
		||||
          targetPort: 32400
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: plex-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: plex
 | 
			
		||||
                port: 32400
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - plex-cl01tl
 | 
			
		||||
    traefik:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: 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: plex.alexlebens.net
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: plex
 | 
			
		||||
                port: 32400
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - plex.alexlebens.net
 | 
			
		||||
          secretName: plex-tls-secret
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 60Gi
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    transcode:
 | 
			
		||||
      type: emptyDir
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /transcode
 | 
			
		||||
              readOnly: false
 | 
			
		||||
    media:
 | 
			
		||||
      existingClaim: plex-nfs-storage
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /mnt/store
 | 
			
		||||
              readOnly: true
 | 
			
		||||
@@ -1,22 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: prowlarr
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Prowlarr
 | 
			
		||||
keywords:
 | 
			
		||||
  - prowlarr
 | 
			
		||||
  - servarr
 | 
			
		||||
  - trackers
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/prowlarr-ERparmlGES
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/Prowlarr/Prowlarr
 | 
			
		||||
  - https://github.com/onedr0p/containers/pkgs/container/prowlarr
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: prowlarr
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/prowlarr.png
 | 
			
		||||
appVersion: 1.28.2.4885
 | 
			
		||||
@@ -1,57 +0,0 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: prowlarr-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: prowlarr-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 }}` }}/prowlarr/prowlarr-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
 | 
			
		||||
@@ -1,37 +0,0 @@
 | 
			
		||||
# apiVersion: volsync.backube/v1alpha1
 | 
			
		||||
# kind: ReplicationSource
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: prowlarr-config-backup-source
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: prowlarr-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: prowlarr-config
 | 
			
		||||
#   trigger:
 | 
			
		||||
#     schedule: 0 0 */3 * *
 | 
			
		||||
#   restic:
 | 
			
		||||
#     pruneIntervalDays: 14
 | 
			
		||||
#     repository: prowlarr-config-backup-secret
 | 
			
		||||
#     retain:
 | 
			
		||||
#       hourly: 1
 | 
			
		||||
#       daily: 1
 | 
			
		||||
#       weekly: 1
 | 
			
		||||
#       monthly: 2
 | 
			
		||||
#       yearly: 4
 | 
			
		||||
#     moverSecurityContext:
 | 
			
		||||
#       runAsUser: 568
 | 
			
		||||
#       runAsGroup: 568
 | 
			
		||||
#       fsGroup: 568
 | 
			
		||||
#       fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
#       supplementalGroups:
 | 
			
		||||
#         - 44
 | 
			
		||||
#         - 100
 | 
			
		||||
#         - 109
 | 
			
		||||
#         - 65539
 | 
			
		||||
#     copyMethod: Snapshot
 | 
			
		||||
#     storageClassName: ceph-block-delete
 | 
			
		||||
#     volumeSnapshotClassName: ceph-blockpool-snapshot
 | 
			
		||||
@@ -1,84 +0,0 @@
 | 
			
		||||
prowlarr:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      pod:
 | 
			
		||||
        securityContext:
 | 
			
		||||
          runAsUser: 568
 | 
			
		||||
          runAsGroup: 568
 | 
			
		||||
          fsGroup: 568
 | 
			
		||||
          fsGroupChangePolicy: OnRootMismatch
 | 
			
		||||
          supplementalGroups:
 | 
			
		||||
            - 44
 | 
			
		||||
            - 100
 | 
			
		||||
            - 109
 | 
			
		||||
            - 65539
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/onedr0p/prowlarr
 | 
			
		||||
            tag: 1.31.2.4975
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: TZ
 | 
			
		||||
              value: US/Central
 | 
			
		||||
          probes:
 | 
			
		||||
            liveness:
 | 
			
		||||
              enabled: false
 | 
			
		||||
              custom: true
 | 
			
		||||
              spec:
 | 
			
		||||
                exec:
 | 
			
		||||
                  command:
 | 
			
		||||
                  - /usr/bin/env
 | 
			
		||||
                  - bash
 | 
			
		||||
                  - -c
 | 
			
		||||
                  - curl --fail localhost:8686/api/v1/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
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 256Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        http:
 | 
			
		||||
          port: 80
 | 
			
		||||
          targetPort: 9696
 | 
			
		||||
          protocol: HTTP
 | 
			
		||||
  ingress:
 | 
			
		||||
    tailscale:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      className: tailscale
 | 
			
		||||
      hosts:
 | 
			
		||||
        - host: prowlarr-cl01tl
 | 
			
		||||
          paths:
 | 
			
		||||
            - path: /
 | 
			
		||||
              pathType: Prefix
 | 
			
		||||
              service:
 | 
			
		||||
                name: prowlarr
 | 
			
		||||
                port: 80
 | 
			
		||||
      tls:
 | 
			
		||||
        - hosts:
 | 
			
		||||
            - prowlarr-cl01tl
 | 
			
		||||
  persistence:
 | 
			
		||||
    config:
 | 
			
		||||
      storageClass: ceph-block
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
      size: 1Gi
 | 
			
		||||
      retain: true
 | 
			
		||||
      advancedMounts:
 | 
			
		||||
        main:
 | 
			
		||||
          main:
 | 
			
		||||
            - path: /config
 | 
			
		||||
              readOnly: false
 | 
			
		||||
@@ -1,31 +0,0 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: radarr5-4k
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Radarr v5 4K
 | 
			
		||||
keywords:
 | 
			
		||||
  - radarr
 | 
			
		||||
  - servarr
 | 
			
		||||
  - movies
 | 
			
		||||
  - 4k
 | 
			
		||||
  - metrics
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/radarr-T6nPLajWDP
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/Radarr/Radarr
 | 
			
		||||
  - https://github.com/cloudnative-pg/cloudnative-pg
 | 
			
		||||
  - https://github.com/onedr0p/containers/pkgs/container/radarr
 | 
			
		||||
  - https://github.com/onedr0p/exportarr/pkgs/container/exportarr
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
 | 
			
		||||
  - https://github.com/alexlebens/helm-charts/charts/postgres-cluster
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: radarr5-4k
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
  - name: postgres-cluster
 | 
			
		||||
    alias: postgres-17-cluster
 | 
			
		||||
    version: 4.2.0
 | 
			
		||||
    repository: http://alexlebens.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/radarr.png
 | 
			
		||||
appVersion: 5.16.3
 | 
			
		||||
@@ -1,89 +0,0 @@
 | 
			
		||||
# apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
# kind: ExternalSecret
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: radarr5-4k-config-backup-secret
 | 
			
		||||
#   namespace: {{ .Release.Namespace }}
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app.kubernetes.io/name: radarr5-4k-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 }}` }}/radarr5-4k/radarr5-4k-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: radarr5-4k-postgresql-17-cluster-backup-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: radarr5-4k-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
 | 
			
		||||
@@ -1,19 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolumeClaim
 | 
			
		||||
metadata:
 | 
			
		||||
  name: radarr5-4k-nfs-storage
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: radarr5-4k-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: radarr5-4k-nfs-storage
 | 
			
		||||
  storageClassName: nfs-client
 | 
			
		||||
  accessModes:
 | 
			
		||||
    - ReadWriteMany
 | 
			
		||||
  resources:
 | 
			
		||||
    requests:
 | 
			
		||||
      storage: 1Gi
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: PersistentVolume
 | 
			
		||||
metadata:
 | 
			
		||||
  name: radarr5-4k-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: /volume2/Storage
 | 
			
		||||
    server: synologybond.alexlebens.net
 | 
			
		||||
  mountOptions:
 | 
			
		||||
    - vers=4
 | 
			
		||||
    - minorversion=1
 | 
			
		||||
    - noac
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user