--- apiVersion: apps/v1 kind: Deployment metadata: labels: app: slskd name: slskd spec: replicas: 1 selector: matchLabels: app: slskd strategy: type: Recreate template: metadata: labels: app: slskd spec: containers: - image: slskd/slskd name: slskd ports: - containerPort: 5030 protocol: TCP - containerPort: 5031 protocol: TCP - containerPort: 50300 protocol: TCP volumeMounts: - mountPath: /app name: slskd-config-volume - mountPath: /app/downloads name: slskd-downloads-volume - mountPath: /music name: slskd-music-volume restartPolicy: Always volumes: - name: slskd-config-volume persistentVolumeClaim: claimName: slskd-config-pvc - name: slskd-downloads-volume persistentVolumeClaim: claimName: slskd-downloads-pvc - name: slskd-music-volume persistentVolumeClaim: claimName: slskd-music-pvc --- apiVersion: v1 kind: Service metadata: labels: app: slskd name: slskd-svc spec: ports: - name: "5030" port: 5030 targetPort: 5030 - name: "5031" port: 5031 targetPort: 5031 - name: "50300" port: 50300 targetPort: 50300 selector: app: slskd --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: slskd-http annotations: traefik.ingress.kubernetes.io/router.entrypoints: web spec: rules: - host: slskd.reticulum.lan http: paths: - path: / pathType: Prefix backend: service: name: slskd-svc port: number: 5030 - host: slskd.argentumcation.com http: paths: - path: / pathType: Prefix backend: service: name: slskd-svc port: number: 5030 - host: slskd.xn--2dkua.xn--tckwe http: paths: - path: / pathType: Prefix backend: service: name: slskd-svc port: number: 5030 --- apiVersion: v1 kind: PersistentVolume metadata: name: slskd-config-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" nfs: path: /mnt/raid/00_meta/05_service_config/slskd server: 192.168.1.146 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: slskd-config-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi volumeName: slskd-config-pv storageClassName: "" --- apiVersion: v1 kind: PersistentVolume metadata: name: slskd-downloads-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" nfs: path: /mnt/raid/30_media/33_music/ server: 192.168.1.146 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: slskd-downloads-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi volumeName: slskd-downloads-pv storageClassName: "" --- apiVersion: v1 kind: PersistentVolume metadata: name: slskd-music-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" nfs: path: /mnt/raid/30_media/33_music/ server: 192.168.1.146 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: slskd-music-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi volumeName: slskd-music-pv storageClassName: ""