--- apiVersion: apps/v1 kind: Deployment metadata: name: tdarr namespace: media spec: selector: matchLabels: app: tdarr template: metadata: labels: app: tdarr spec: restartPolicy: Always runtimeClassName: nvidia containers: - image: ghcr.io/haveagitgat/tdarr:latest imagePullPolicy: Always name: tdarr env: - name: TZ value: Australia/Melbourne - name: PUID value: '1000' - name: PGID value: '1000' - name: UMASK value: '002' - name: serverIP value: 0.0.0.0 - name: serverPort value: '8266' - name: webUIPort value: '8265' - name: NVIDIA_VISIBLE_DEVICES value: all - name: NVIDIA_DRIVER_CAPABILITIES value: all ports: - containerPort: 8265 name: web protocol: TCP - containerPort: 8266 name: server protocol: TCP volumeMounts: - mountPath: /data name: tdarr-data - mountPath: /app/server name: tdarr-config - mountPath: /app/configs name: tdarr-configs - image: ghcr.io/haveagitgat/tdarr_node:latest imagePullPolicy: Always name: tdarr-node env: - name: TZ value: Australia/Melbourne - name: PUID value: '1000' - name: PGID value: '1000' - name: UMASK value: '002' - name: nodeID value: MainNode - name: nodeIP value: 0.0.0.0 - name: nodePort value: '8268' - name: serverIP value: 0.0.0.0 - name: serverPort value: '8266' - name: NVIDIA_VISIBLE_DEVICES value: all - name: NVIDIA_DRIVER_CAPABILITIES value: all ports: - containerPort: 8268 name: node protocol: TCP resources: limits: nvidia.com/gpu: 1 volumeMounts: - mountPath: /data name: tdarr-data - mountPath: /app/configs name: tdarr-configs volumes: - name: tdarr-data persistentVolumeClaim: claimName: data - name: tdarr-config persistentVolumeClaim: claimName: tdarr-config - name: tdarr-configs persistentVolumeClaim: claimName: tdarr-configs --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: tdarr-config namespace: media spec: storageClassName: zfs-fast accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: tdarr-configs namespace: media spec: storageClassName: zfs-fast accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: labels: app: tdarr name: tdarr namespace: media spec: ports: - name: web port: 8265 protocol: TCP targetPort: 8265 - name: server port: 8266 protocol: TCP targetPort: 8266 - name: node port: 8268 protocol: TCP targetPort: 8268 selector: app: tdarr type: ClusterIP --- # apiVersion: networking.k8s.io/v1 # kind: Ingress # metadata: # name: tdarr-ingress # namespace: media # annotations: # cert-manager.io/cluster-issuer: letsencrypt-prod # spec: # ingressClassName: haproxy # tls: # - secretName: tdarr-ingress # hosts: # - tdarr.ntwl.xyz # rules: # - host: tdarr.ntwl.xyz # http: # paths: # - backend: # service: # name: tdarr # port: # name: web # path: / # pathType: Prefix