# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: ganymede spec: interval: 5m chart: spec: chart: app-template version: 3.5.1 sourceRef: kind: HelmRepository name: bjws-charts namespace: flux-system values: controllers: main: containers: ganymede: image: repository: ghcr.io/zibbp/ganymede tag: 4.0.2 envFrom: - secretRef: name: ganymede-env env: PUID: 10555 PGID: 10555 TZ: "America/New_York" # Set to your timezone DB_HOST: "postgres16-rw.database.svc" DB_PORT: "5432" DB_USER: "ganymede" DB_NAME: "ganymede" DB_SSL: "disable" # OAUTH OAUTH_PROVIDER_URL: "https://auth.${SECRET_NEW_DOMAIN}/application/o/ganymede/.well-known/openid-configuration" OAUTH_REDIRECT_URL: "https://twvods.${SECRET_NEW_DOMAIN}/api/v1/auth/oauth/callback" # WORKER MAX_CHAT_DOWNLOAD_EXECUTIONS: "5" MAX_CHAT_RENDER_EXECUTIONS: "3" MAX_VIDEO_DOWNLOAD_EXECUTIONS: "5" MAX_VIDEO_CONVERT_EXECUTIONS: "3" # FRONTEND SHOW_SSO_LOGIN_BUTTON: "true" # show/hide SSO login button on login page FORCE_SSO_AUTH: "false" # force SSO auth for all users (bypasses login page and redirects to SSO) REQUIRE_LOGIN: "false" # require login to view videos service: app: controller: main ports: http: port: 4000 serviceMonitor: app: labels: release: kube-prometheus-stack serviceName: ganymede endpoints: - port: http interval: 1m scrapeTimeout: 5s path: /metrics metricRelabelings: # add `ganymede_` prefix to all label metrics - sourceLabels: ["__name__"] targetLabel: "__name__" regex: "(.*)" replacement: "ganymede_$${1}" action: replace ingress: main: annotations: cert-manager.io/cluster-issuer: letsencrypt-production traefik.ingress.kubernetes.io/router.entrypoints: websecure hosts: - host: twvods.${SECRET_NEW_DOMAIN} paths: - path: / service: identifier: app port: http persistence: vods: type: persistentVolumeClaim size: 50Gi retain: true storageClass: mainpool-hostpath accessMode: ReadWriteOnce globalMounts: - path: /data/videos ganymede-data: type: persistentVolumeClaim size: 5Gi retain: true storageClass: mainpool-hostpath accessMode: ReadWriteOnce globalMounts: - path: /data/temp ganymede-logs: type: persistentVolumeClaim size: 5Gi retain: true storageClass: mainpool-hostpath accessMode: ReadWriteOnce globalMounts: - path: /data/logs ganymede-conf: name: ganymede-conf type: configMap defaultMode: 0777 globalMounts: - path: /data/config/config.json subPath: config.json