apiVersion: apps/v1 kind: Deployment metadata: name: deluge namespace: media spec: selector: matchLabels: app: deluge template: metadata: labels: app: deluge spec: containers: - name: deluge image: lscr.io/linuxserver/deluge:latest envFrom: - configMapRef: name: deluge-config optional: false ports: - containerPort: 8112 name: http protocol: TCP - containerPort: 6881 name: udp protocol: UDP - containerPort: 6881 name: tcp protocol: TCP - containerPort: 58846 name: thinclient protocol: TCP volumeMounts: - name: config mountPath: /config - mountPath: /downloads name: data subPath: downloads initContainers: - name: init-media-filesystem image: busybox command: - /bin/sh - -c - | mkdir -p -v /data/downloads/movies /data/downloads/tv /data/downloads/books /data/downloads/audiobooks /data/media/movies /data/media/tv /data/media/books /data/media/audiobooks chown -R 1000:1000 /data chmod -R a=,a+rX,u+w,g+w /data volumeMounts: - mountPath: /data name: data volumes: - name: config persistentVolumeClaim: claimName: deluge-config - name: data persistentVolumeClaim: claimName: media-data