apiVersion: v1 kind: Namespace metadata: name: navidrome --- apiVersion: apps/v1 kind: Deployment metadata: name: ytdlp-navidrome namespace: navidrome spec: replicas: 1 selector: matchLabels: app: ytdlp-navidrome template: metadata: labels: app: ytdlp-navidrome spec: containers: - name: ytdlp-bot image: ytdlp-navidrome:latest imagePullPolicy: IfNotPresent env: - name: MATRIX_HOMESERVER valueFrom: secretKeyRef: name: ytdlp-matrix-secret key: homeserver - name: MATRIX_USER_ID valueFrom: secretKeyRef: name: ytdlp-matrix-secret key: user-id - name: MATRIX_ACCESS_TOKEN valueFrom: secretKeyRef: name: ytdlp-matrix-secret key: access-token - name: PROXY_URL value: "socks5://localhost:1080" - name: MUSIC_DIR value: "/music" - name: TMP_DIR value: "/tmp/ytdlp-previews" volumeMounts: - name: music mountPath: /music/ytdlp - name: tmp mountPath: /tmp/ytdlp-previews livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 15 periodSeconds: 30 readinessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 5 periodSeconds: 10 resources: requests: memory: "64Mi" cpu: "50m" limits: memory: "128Mi" cpu: "500m" - name: byedpi image: ghcr.io/hufrea/byedpi:latest command: ["ciadpi"] args: - "--ip=0.0.0.0" - "--port=1080" - "--auto" - "--disorder=1-1" - "--ttl=3" ports: - containerPort: 1080 name: sock5 resources: requests: memory: "16Mi" cpu: "10m" limits: memory: "32Mi" cpu: "100m" volumes: - name: music hostPath: path: /mnt/ssd/k3s/services/navidrome/music type: DirectoryOrCreate - name: tmp emptyDir: medium: Memory sizeLimit: 512Mi