feat(navidrome): Added navidrome config and readme content

This commit is contained in:
Fishandchips321 2026-04-15 18:48:25 +01:00
parent b5946b3f81
commit 9baebfa13c
5 changed files with 87 additions and 1 deletions

View file

@ -0,0 +1,6 @@
# Navidrome
Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!<br>
\- [source](https://github.com/navidrome/navidrome)
## Using this kubernetes config
In `deployment.yml`, set the host path for where you're storing your music files on the host machine. Also set navidrome's hostname in the `ingress.yml` file. This config assumes you have cert-manager installed on your cluster, so if you want to provide HTTPS another way, feel free to comment out the `spec.tls` section (the annotation shouldn't affect anything, but you can comment it out as well if you want)

47
Navidrome/deployment.yml Normal file
View file

@ -0,0 +1,47 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: navidrome
spec:
selector:
matchLabels:
app: navidrome
template:
metadata:
labels:
app: navidrome
spec:
containers:
- name: navidrome
image: deluan/navidrome:latest
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 4533
volumeMounts:
- name: music
mountPath: /music
readOnly: true
- name: navidrome-config
mountPath: /data
volumes:
- name: music
hostPath:
path: <music directory host path>
- name: navidrome-config
persistentVolumeClaim:
claimName: navidrome-config
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: navidrome-config
namespace: navidrome
spec:
resources:
requests:
storage: 128Mi
accessModes:
- ReadWriteOnce

22
Navidrome/ingress.yml Normal file
View file

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: navidrome
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-production"
spec:
tls:
- hosts:
- <navidrome domain name>
secretName: navidrome-tls
rules:
- host: <navidrome domain name>
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: navidrome
port:
number: 80

11
Navidrome/service.yml Normal file
View file

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: navidrome
spec:
selector:
app: navidrome
ports:
- port: 80
targetPort: 4533
type: ClusterIP

View file

@ -18,7 +18,7 @@ This is a collection of kubernetes configurations for various services that I ha
- [x] Mealie - [x] Mealie
- [ ] Minecraft Servers - [ ] Minecraft Servers
- [ ] MinIO - [ ] MinIO
- [ ] Navidrome - [x] Navidrome
- [ ] Outline - [ ] Outline
- [ ] PrivoxyVPN - [ ] PrivoxyVPN
- [x] Prowlarr - [x] Prowlarr