apiVersion: apps/v1 kind: Deployment metadata: name: jdownloader namespace: plex-and-tools annotations: reloader.stakater.com/auto: 'true' labels: app: jdownloader unraid.nfs: 'true' spec: replicas: 1 selector: matchLabels: app: jdownloader strategy: type: Recreate # because of pvc template: metadata: labels: app: jdownloader spec: automountServiceAccountToken: false # CURRENLTY hostNetwork disabled because we use https://jdownloader.sikorski.cloud/ # dnsPolicy: ClusterFirstWithHostNet # hostNetwork: true # direct connection for better web ui performance containers: - name: jdownloader # https://hub.docker.com/r/jlesage/jdownloader-2 # https://github.com/jlesage/docker-jdownloader-2/releases image: jlesage/jdownloader-2:v25.02.1 # {"$imagepolicy": "flux-system:jdownloader2"} imagePullPolicy: IfNotPresent resources: limits: memory: 8Gi requests: memory: 2Gi cpu: 1000m ports: - name: http containerPort: 5800 protocol: TCP envFrom: - configMapRef: name: plex-and-tools - configMapRef: name: jdownloader optional: false - secretRef: name: jdownloader optional: false securityContext: readOnlyRootFilesystem: false allowPrivilegeEscalation: false runAsNonRoot: false volumeMounts: # config - name: jdownloader mountPath: /config # emptyDir Logs - name: jdownloader-nginx-log mountPath: /config/log - name: jdownloader-logs mountPath: /config/logs # configMap scripts - name: jdownloader-filebot-script mountPath: /config/scripts/jdownloader-postprocess.sh subPath: jdownloader-postprocess.sh # NFS shares - name: plex-media mountPath: /mnt/plex-media/ imagePullSecrets: - name: registry-dockerhub volumes: # app - name: jdownloader persistentVolumeClaim: claimName: jdownloader-longhorn # emptyDir Logs - name: jdownloader-nginx-log emptyDir: sizeLimit: 500Mi - name: jdownloader-logs emptyDir: sizeLimit: 500Mi # NFS shares - name: plex-media persistentVolumeClaim: claimName: plex-media # configmap - name: jdownloader-filebot-script configMap: name: jdownloader-filebot-script defaultMode: 0777