From 3b272fa9e17998d50aca0cbf199609d8748a0380 Mon Sep 17 00:00:00 2001 From: Alex Lebens Date: Sun, 18 Jan 2026 17:33:32 -0600 Subject: [PATCH] remove tautulli --- clusters/cl01tl/helm/blocky/values.yaml | 1 - clusters/cl01tl/helm/gatus/values.yaml | 3 - clusters/cl01tl/helm/homepage/values.yaml | 6 - clusters/cl01tl/helm/tautulli/Chart.lock | 9 -- clusters/cl01tl/helm/tautulli/Chart.yaml | 26 ---- clusters/cl01tl/helm/tautulli/values.yaml | 179 ---------------------- hosts/ps08rp/blocky/config.yml | 1 - hosts/ps09rp/blocky/config.yml | 1 - 8 files changed, 226 deletions(-) delete mode 100644 clusters/cl01tl/helm/tautulli/Chart.lock delete mode 100644 clusters/cl01tl/helm/tautulli/Chart.yaml delete mode 100644 clusters/cl01tl/helm/tautulli/values.yaml diff --git a/clusters/cl01tl/helm/blocky/values.yaml b/clusters/cl01tl/helm/blocky/values.yaml index a5f084327..85ff79e11 100644 --- a/clusters/cl01tl/helm/blocky/values.yaml +++ b/clusters/cl01tl/helm/blocky/values.yaml @@ -160,7 +160,6 @@ blocky: sonarr-4k IN CNAME traefik-cl01tl sonarr-anime IN CNAME traefik-cl01tl stalwart IN CNAME traefik-cl01tl - tautulli IN CNAME traefik-cl01tl tdarr IN CNAME traefik-cl01tl tubearchivist IN CNAME traefik-cl01tl vault IN CNAME traefik-cl01tl diff --git a/clusters/cl01tl/helm/gatus/values.yaml b/clusters/cl01tl/helm/gatus/values.yaml index 8a892469d..fa874401b 100644 --- a/clusters/cl01tl/helm/gatus/values.yaml +++ b/clusters/cl01tl/helm/gatus/values.yaml @@ -206,9 +206,6 @@ gatus: - name: alertmanager url: https://alertmanager.alexlebens.net <<: *defaults - - name: tautulli - url: https://tautulli.alexlebens.net - <<: *defaults - name: jellystat url: https://jellystat.alexlebens.net <<: *defaults diff --git a/clusters/cl01tl/helm/homepage/values.yaml b/clusters/cl01tl/helm/homepage/values.yaml index 5989a459e..1b1bfbc32 100644 --- a/clusters/cl01tl/helm/homepage/values.yaml +++ b/clusters/cl01tl/helm/homepage/values.yaml @@ -394,12 +394,6 @@ homepage: query: prometheus_tsdb_storage_blocks_bytes format: type: bytes - - Tautulli: - icon: sh-tautulli.webp - description: Plex Monitoring - href: https://tautulli.alexlebens.net - siteMonitor: http://tautulli.tautulli:80 - statusStyle: dot - Jellystat: icon: sh-jellystat.webp description: Jellyfin Monitoring diff --git a/clusters/cl01tl/helm/tautulli/Chart.lock b/clusters/cl01tl/helm/tautulli/Chart.lock deleted file mode 100644 index d1a9e6e7f..000000000 --- a/clusters/cl01tl/helm/tautulli/Chart.lock +++ /dev/null @@ -1,9 +0,0 @@ -dependencies: -- name: app-template - repository: https://bjw-s-labs.github.io/helm-charts/ - version: 4.6.2 -- name: volsync-target - repository: oci://harbor.alexlebens.net/helm-charts - version: 0.7.0 -digest: sha256:50badda5b51f1c82558bee67c3a647bdd356c9b7db06acfeef05501aaaabd911 -generated: "2026-01-16T18:55:22.993941938Z" diff --git a/clusters/cl01tl/helm/tautulli/Chart.yaml b/clusters/cl01tl/helm/tautulli/Chart.yaml deleted file mode 100644 index 3b0b5353e..000000000 --- a/clusters/cl01tl/helm/tautulli/Chart.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: v2 -name: tautulli -version: 1.0.0 -description: Tautulli -keywords: - - tautulli - - plex -home: https://wiki.alexlebens.dev/s/b2f5d20a-b3c2-4e7a-b550-7b2855264408 -sources: - - https://github.com/Tautulli/Tautulli - - https://github.com/Tautulli/Tautulli/pkgs/container/tautulli - - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template -maintainers: - - name: alexlebens -dependencies: - - name: app-template - alias: tautulli - repository: https://bjw-s-labs.github.io/helm-charts/ - version: 4.6.2 - - name: volsync-target - alias: volsync-target-config - version: 0.7.0 - repository: oci://harbor.alexlebens.net/helm-charts -icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/tautulli.png -# renovate: github=Tautulli/Tautulli -appVersion: v2.16.0 diff --git a/clusters/cl01tl/helm/tautulli/values.yaml b/clusters/cl01tl/helm/tautulli/values.yaml deleted file mode 100644 index e22e2b698..000000000 --- a/clusters/cl01tl/helm/tautulli/values.yaml +++ /dev/null @@ -1,179 +0,0 @@ -tautulli: - controllers: - main: - type: deployment - annotations: - reloader.stakater.com/auto: "true" - replicas: 1 - strategy: Recreate - revisionHistoryLimit: 3 - containers: - main: - image: - repository: ghcr.io/tautulli/tautulli - tag: v2.16.0 - pullPolicy: IfNotPresent - env: - - name: PUID - value: 1001 - - name: GUID - value: 1001 - - name: TZ - value: US/Central - resources: - requests: - cpu: 10m - memory: 128Mi - configMaps: - scripts: - enabled: true - data: - select_tmdb_poster.py: | - #!/usr/bin/env python - # -*- coding: utf-8 -*- - - ''' - Description: Selects the default TMDB poster if no poster is selected - or the current poster is from Gracenote. - Author: /u/SwiftPanda16 - Requires: plexapi - Usage: - * Change the posters for an entire library: - python select_tmdb_poster.py --library "Movies" - - * Change the poster for a specific item: - python select_tmdb_poster.py --rating_key 1234 - - * By default locked posters are skipped. To update locked posters: - python select_tmdb_poster.py --library "Movies" --include_locked - - Tautulli script trigger: - * Notify on recently added - Tautulli script conditions: - * Filter which media to select the poster. Examples: - [ Media Type | is | movie ] - Tautulli script arguments: - * Recently Added: - --rating_key {rating_key} - ''' - - import argparse - import os - import plexapi.base - from plexapi.server import PlexServer - plexapi.base.USER_DONT_RELOAD_FOR_KEYS.add('fields') - - - # Environmental Variables - PLEX_URL = os.getenv('PLEX_URL') - PLEX_TOKEN = os.getenv('PLEX_TOKEN') - - - def select_tmdb_poster_library(library, include_locked=False): - for item in library.all(includeGuids=False): - # Only reload for fields - item.reload(**{k: 0 for k, v in item._INCLUDES.items()}) - select_tmdb_poster_item(item, include_locked=include_locked) - - - def select_tmdb_poster_item(item, include_locked=False): - if item.isLocked('thumb') and not include_locked: # PlexAPI 4.5.10 - print(f"Locked poster for {item.title}. Skipping.") - return - - posters = item.posters() - selected_poster = next((p for p in posters if p.selected), None) - - if selected_poster is None: - print(f"WARNING: No poster selected for {item.title}.") - else: - skipping = ' Skipping.' if selected_poster.provider != 'gracenote' else '' - print(f"Poster provider is '{selected_poster.provider}' for {item.title}.{skipping}") - - if posters and (selected_poster is None or selected_poster.provider == 'gracenote'): - # Fallback to first poster if no TMDB posters are available - tmdb_poster = next((p for p in posters if p.provider == 'tmdb'), posters[0]) - # Selecting the poster automatically locks it - tmdb_poster.select() - print(f"Selected {tmdb_poster.provider} poster for {item.title}.") - - - if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('--rating_key', type=int) - parser.add_argument('--library') - parser.add_argument('--include_locked', action='store_true') - opts = parser.parse_args() - - plex = PlexServer(PLEX_URL, PLEX_TOKEN) - - if opts.rating_key: - item = plex.fetchItem(opts.rating_key) - select_tmdb_poster_item(item, opts.include_locked) - elif opts.library: - library = plex.library.section(opts.library) - select_tmdb_poster_library(library, opts.include_locked) - else: - print("No --rating_key or --library specified. Exiting.") - service: - main: - controller: main - ports: - http: - port: 80 - targetPort: 8181 - protocol: HTTP - route: - main: - kind: HTTPRoute - parentRefs: - - group: gateway.networking.k8s.io - kind: Gateway - name: traefik-gateway - namespace: traefik - hostnames: - - tautulli.alexlebens.net - rules: - - backendRefs: - - group: '' - kind: Service - name: tautulli - port: 80 - weight: 100 - matches: - - path: - type: PathPrefix - value: / - persistence: - scripts: - enabled: true - type: configMap - name: tautulli-scripts - advancedMounts: - main: - main: - - path: /config/scripts/select_tmdb_poster.py - readOnly: true - mountPropagation: None - subPath: select_tmdb_poster.py - config: - forceRename: tautulli-config - storageClass: ceph-block - accessMode: ReadWriteOnce - size: 5Gi - retain: true - advancedMounts: - main: - main: - - path: /config - readOnly: false -volsync-target-config: - pvcTarget: tautulli-config - local: - enabled: true - schedule: 34 11 * * * - remote: - enabled: false - external: - enabled: true - schedule: 34 12 * * * diff --git a/hosts/ps08rp/blocky/config.yml b/hosts/ps08rp/blocky/config.yml index 5817d2fb5..29c939d9e 100644 --- a/hosts/ps08rp/blocky/config.yml +++ b/hosts/ps08rp/blocky/config.yml @@ -135,7 +135,6 @@ customDNS: sonarr-4k IN CNAME traefik-cl01tl sonarr-anime IN CNAME traefik-cl01tl stalwart IN CNAME traefik-cl01tl - tautulli IN CNAME traefik-cl01tl tdarr IN CNAME traefik-cl01tl tubearchivist IN CNAME traefik-cl01tl vault IN CNAME traefik-cl01tl diff --git a/hosts/ps09rp/blocky/config.yml b/hosts/ps09rp/blocky/config.yml index c30f52aad..c91c86d13 100644 --- a/hosts/ps09rp/blocky/config.yml +++ b/hosts/ps09rp/blocky/config.yml @@ -156,7 +156,6 @@ customDNS: sonarr-4k IN CNAME traefik-cl01tl sonarr-anime IN CNAME traefik-cl01tl stalwart IN CNAME traefik-cl01tl - tautulli IN CNAME traefik-cl01tl tdarr IN CNAME traefik-cl01tl tubearchivist IN CNAME traefik-cl01tl vault IN CNAME traefik-cl01tl