start using kustomize
All checks were successful
Casa LMS CI/CD Pipeline / deploy (push) Successful in 16s

This commit is contained in:
2025-11-30 21:16:52 +00:00
parent 8f0de6ca92
commit 2649221f92
16 changed files with 205 additions and 184 deletions

View File

@@ -0,0 +1,64 @@
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: storage-limbosolutions-com-media-music
- name: playlists
persistentVolumeClaim:
claimName: playlists

View File

@@ -0,0 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
- music-pvc.yaml
- lms-data-pvc.yaml
- playlists-pvc.yaml
generatorOptions:
disableNameSuffixHash: true

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: lyrionmusicserver
namespace: lyrionmusicserver
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

15
deploy/app/music-pvc.yaml Normal file
View File

@@ -0,0 +1,15 @@
# check permissions on storage source
# lms required o+rx on /music folder to scan
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: storage-limbosolutions-com-media-music
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

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: playlists
namespace: lyrionmusicserver
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 64Mi

17
deploy/app/service.yaml Normal file
View File

@@ -0,0 +1,17 @@
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