Add navidrome

This commit is contained in:
Tyler 2024-05-18 13:26:33 -04:00
parent 4686cb1112
commit d8d79ec198
Signed by: tyler
GPG Key ID: 03B27509E17EFDC8
6 changed files with 155 additions and 0 deletions

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: navidrome-pvc-data
namespace: navidrome-ns
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 16Gi

View File

@ -0,0 +1,81 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: navidrome
namespace: navidrome-ns
spec:
selector:
matchLabels:
app: navidrome
template:
metadata:
labels:
app: navidrome
spec:
nodeSelector:
kubernetes.io/hostname: gluttony
securityContext:
fsGroup: 1000
containers:
- name: navidrome
image: deluan/navidrome:latest
securityContext:
runAsUser: 1000
runAsGroup: 1000
ports:
- containerPort: 4533
env:
- name: ND_BASEURL
value: "https://music.clortox.com"
- name: ND_CACHEFOLDER
value: "/cache"
- name: ND_MUSICFOLDER
value: "/music"
- name: ND_DATAFOLDER
value: "/data"
- name: ND_SCANSCHEDULE
value: "1h"
- name: ND_LOGLEVEL
value: "info"
- name: ND_SESSIONTIMEOUT
value: "24h"
- name: ND_ENABLESHARING
value: "true"
- name: ND_UILOGINBACKGROUNDURL
value: "https://general.api.clortox.com/images/background/today"
- name: ND_UIWELCOMEMESSAGE
value: "Lol. Lmao even"
- name: ND_REVERSEPROXYUSERHEADER
value: "X-Authentik-Username"
- name: ND_REVERSEPROXYWHITELIST
value: "0.0.0.0/0"
- name: ND_SPOTIFY_ID
valueFrom:
secretKeyRef:
name: spotify-creds
key: CLIENT_ID
- name: ND_SPOTIFY_SECRET
valueFrom:
secretKeyRef:
name: spotify-creds
key: CLIENT_ID
volumeMounts:
- name: data
mountPath: "/data"
- name: music
mountPath: "/music"
readOnly: true
- name: cache
mountPath: "/cache"
volumes:
- name: data
persistentVolumeClaim:
claimName: navidrome-pvc-data
- name: music
persistentVolumeClaim:
claimName: navidrome-pvc-music
- name: cache
emptyDir: {}

View File

@ -0,0 +1,21 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: navidrome-pv-music
namespace: navidrome-ns
spec:
storageClassName: local-storage
capacity:
storage: 18000Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/Main/Media"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- gluttony

View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: navidrome-pvc-music
namespace: navidrome-ns
spec:
volumeName: navidrome-pv-music
storageClassName: local-storage
accessModes:
- ReadWriteMany
resources:
requests:
storage: 18000Gi

View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: navidrome-services
namespace: navidrome-ns
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 4533
protocol: TCP
selector:
app: navidrome

View File

@ -0,0 +1,15 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: spotify-creds
namespace: navidrome-ns
spec:
encryptedData:
CLIENT_ID: AgDCmOhoW/hW2ySB8S1EvNVHZxa/KcpucT3s/0OnJWB8DcuMkA25es6+YXo39S9E1IJ8/4NIDhI6SVVp0DhtiIu4arhluW7t6Ybrv82CBatvQ6sHeK4RDiU/lrwS9TWyQUFKYUq16wOOcSQU52RPD/0KPCRdnUFZZRu3J6ZlDCDRKtDI3h3YfwFeYsJ5I2tjqKQ78AI8r5DP6Cqionz75LQq8iKL+l0KE7UQJK/qNuRhY9W3Fl+9rPSKDQM4hEB9eNwnw/aLygGxRkuPzE0/FpnhWhczQXyWpFh5uSs7p9AJ8BkCloJ1+aBxqsgcbzCUev1Y5pX0qygIxZgf2POTqfsLyYo9lHN427MQoUZgepyvgWJa7tcksUsElZUB5zBJINbYbX6JU35DEWOQ6Rmhq9kK5Wlzcghv7mjhDSvLlcdbVZZWerTbZSKspTxWYKwt4ChfIKv+/hjEu/aXH7tWi82+7IkREYHSDZ7WwkNzt1MIl36W9EBkoxuBqjaYe1jOedimDT9WDKprzaqdsVrVA2PhG179u3rFX9JIwfkEG2Q/ZLXzXj50CGEs7Y7vLGQGVH4aLd+zULEsnEDyudmgbRB++jhXPzk62upn1bGw+yb+XWUoHXAfz965+NcpX3kjovIi4c0/f7NledEphVfug4v44AENrBaJoMblkMykantjWx0dA6nTNrtoHfpdClN4l+3D+31hIH9q7b9lslWMa6FrdtzMr7O5HS3EqetzvLAKFw==
CLIENT_SECRET: AgB38dq30AQ5fwVJUd5DWb1s6vxobilPOVWFvZgYBkrQy0LhQmepWozzyUIZ/VNoscx3j9KhB8ojMuDGJE/CHDHTqGGViYr84WqoGQQ+cV94ef8LMCp7TR0r3TToYOS5RKerkRhL40c3toc9eLmpLu28HInN4ejLw7CS3dvLtcem1iG0D1zVllseOEkAwNDKtbnhdhBevQH1AnWYMMFvRP3qCoXwZmUKgbXdqjJdixCeL6PwtFYMiaV7NcDQG4nJUS2XxxBHiGBXNi6uNK/CEOpI0+3+/F2GXaDv2QDwUs/ZmWnBvJFvrrwnzjOt8GL6VNt3G1BzkN15DlU2FnkilkODhnj5DycMgvGb8/NDP4MqrV7cW+1DQYFr1t6Aey4xnRQZ3k85kxBB0e71wgBuJkoNqRsWpjegW4HkgZNHw4qrkqX1tg7hQbVTdWh0qaOb5P39TeumALlLvgGyuVZrXqOTyY6A0ExqIgF37NmelbSQdZ15g2glvrXJiWzZPRTlHhf/eLVnCRgS/2oBQbmTPVfLbt5BqPbXBjhRIpe/upAvNaIQMPu0ll8sXBBVtMI+TbVFNKD1LXh3XBoxs6ORaQfRWctKmLa9fDj/KMJwS56yf/TlVLyq7W3+Ko1JxsfvpMUAxijb8+M3bL+2GyidFcACXunAKlNc6aYzDAJOz95oi7Y01V7xJwCgk+okplmZskZEbhMnkvgQyzCSoNTaufbFTrzPrz3fKsAwyUT4a5YmuA==
template:
metadata:
creationTimestamp: null
name: spotify-creds
namespace: navidrome-ns