apiVersion: v1 kind: Namespace metadata: name: lyrionmusicserver --- apiVersion: v1 kind: Service metadata: name: lyrionmusicserver namespace: lyrionmusicserver labels: app: lyrionmusicserver spec: selector: app: lyrionmusicserver ports: - name: 9000-web protocol: TCP port: 9000 targetPort: 9000 type: ClusterIP --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: lyrionmusicserver namespace: lyrionmusicserver spec: entryPoints: - websecure routes: - match: Host(`lms.casa.limbosolutions.com`) kind: Rule services: - name: lyrionmusicserver port: 9000 tls: secretName: casa-limbosolutions-com-tls --- apiVersion: apps/v1 kind: Deployment metadata: namespace: lyrionmusicserver name: lyrionmusicserver labels: app: lyrionmusicserver spec: replicas: 1 selector: matchLabels: app: lyrionmusicserver template: metadata: labels: app: lyrionmusicserver spec: nodeSelector: role: worker-node containers: - name: lyrionmusicserver image: lmscommunity/lyrionmusicserver imagePullPolicy: Always volumeMounts: - mountPath: /config name: lyrionmusicserver - mountPath: /music readOnly: true name: music - mountPath: /playlist name: playlists ports: - name: 9000-web containerPort: 9000 protocol: TCP - name: 9090-api containerPort: 9090 protocol: TCP - name: 3483-sqz-tcp containerPort: 3483 hostPort: 3483 protocol: TCP - name: 3483-sqz-udp containerPort: 3483 hostPort: 3483 protocol: UDP resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "400m" volumes: - name: lyrionmusicserver persistentVolumeClaim: claimName: lyrionmusicserver - name: music persistentVolumeClaim: claimName: media-music-storage-limbosolutions-com - name: playlists persistentVolumeClaim: claimName: playlists --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: lyrionmusicserver namespace: lyrionmusicserver spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: playlists namespace: lyrionmusicserver spec: accessModes: - ReadWriteOnce resources: requests: storage: 64Mi --- # check permissions on storage source # lms required o+rx on /music folder to scan apiVersion: v1 kind: PersistentVolumeClaim metadata: name: media-music-storage-limbosolutions-com namespace: lyrionmusicserver spec: storageClassName: "" # it must stay empty to work, dont know why storage-limbosolutions-com volumeName: storage-limbosolutions-com-media-music accessModes: - ReadOnlyMany resources: requests: storage: 128Gi