1 Commits

Author SHA1 Message Date
8c7b532a31 some tries to get a functioning setup 2025-11-26 21:35:08 +01:00
24 changed files with 408 additions and 10 deletions

View File

@@ -10,7 +10,7 @@ resources:
images:
- name: adguard/adguardhome
newName: adguard/adguardhome
newTag: v0.107.70
newTag: v0.107.69
namespace: adguard

View File

@@ -12,4 +12,4 @@ namespace: audiobookshelf
images:
- name: audiobookshelf
newName: ghcr.io/advplyr/audiobookshelf
newTag: "2.31.0"
newTag: "2.30.0"

View File

@@ -0,0 +1,25 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: avahi-reflector
spec:
selector:
matchLabels:
app: avahi-reflector
template:
metadata:
labels:
app: avahi-reflector
spec:
hostNetwork: true
containers:
- name: avahi-reflector
image: avahi-reflector
securityContext:
privileged: true # required for raw sockets
env:
- name: REFLECTOR_ENABLE_REFLECTOR
value: "yes"
- name: SERVER_ALLOW_INTERFACES
# use all interfaces
value: ""

View File

@@ -0,0 +1,14 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: avahi
resources:
- namespace.yaml
- daemonset.yaml
# - configmap.yaml
images:
- name: avahi-reflector
newName: flungo/avahi
newTag: latest

View File

@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: placeholder
labels:
pod-security.kubernetes.io/enforce: privileged

View File

@@ -17,5 +17,5 @@ helmCharts:
- releaseName: grafana
name: grafana
repo: https://grafana.github.io/helm-charts
version: 10.3.0
version: 10.2.0
valuesFile: grafana.values.yaml

View File

@@ -12,4 +12,4 @@ resources:
images:
- name: jellyfin/jellyfin
newName: jellyfin/jellyfin
newTag: 10.11.4
newTag: 10.11.3

View File

@@ -18,7 +18,7 @@ images:
newTag: java21
- name: alpine
newName: alpine
newTag: "3.23"
newTag: "3.22"
- name: rsync
newName: eeacms/rsync
newTag: "3.0"

View File

@@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: musicassistant
spec:
selector:
matchLabels:
app: musicassistant
template:
metadata:
labels:
app: musicassistant
spec:
containers:
- name: musicassistant
image: musicassistant
resources:
limits:
memory: "2Gi"
cpu: "2"
requests:
memory: "128Mi"
cpu: "250m"
ports:
# ports required for musicassistant
- containerPort: 80
- containerPort: 443
- containerPort: 8097
- containerPort: 8095
# name: musicassistant-web
- containerPort: 1704
- containerPort: 1705
env:
- name: TZ
value: Europe/Berlin
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: data

View File

@@ -0,0 +1,17 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: musicassistant-ingressroute
spec:
entryPoints:
- websecure
routes:
- match: Host(`musicassistant.kluster.moll.re`)
kind: Rule
services:
- name: musicassistant-web
port: musicassistant-web
tls:
certResolver: default-tls

View File

@@ -0,0 +1,17 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: musicassistant
resources:
- namespace.yaml
- pvc.yaml
- deployment.yaml
- service.yaml
# - ingress.yaml
images:
- name: musicassistant
newName: ghcr.io/music-assistant/server
newTag: 2.6.0

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: placeholder

View File

@@ -0,0 +1,11 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: data
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,41 @@
apiVersion: v1
kind: Service
metadata:
name: musicassistant
spec:
selector:
app: musicassistant
ports:
- port: 80
targetPort: 80
name: required-first
- port: 443
targetPort: 443
name: required-second
- port: 8097
targetPort: 8097
name: required-third
- port: 8095
targetPort: 8095
name: required-fourth
- port: 1704
targetPort: 1704
name: required-fifth
- port: 1705
targetPort: 1705
name: required-sixth
type: LoadBalancer
loadBalancerIP: 192.168.3.5
---
apiVersion: v1
kind: Service
metadata:
name: musicassistant-web
spec:
selector:
app: musicassistant
ports:
- port: 8095
targetPort: 8095
name: musicassistant-web
type: ClusterIP

View File

@@ -14,7 +14,7 @@ namespace: paperless
images:
- name: paperless
newName: ghcr.io/paperless-ngx/paperless-ngx
newTag: "2.20.1"
newTag: "2.20.0"
helmCharts:

View File

@@ -13,5 +13,5 @@ resources:
images:
- name: mealie
newTag: v3.6.1
newTag: v3.5.0
newName: ghcr.io/mealie-recipes/mealie

View File

@@ -0,0 +1,101 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: snapcast
spec:
selector:
matchLabels:
app: snapcast
template:
metadata:
labels:
app: snapcast
spec:
containers:
- name: snapcast
image: snapcast
resources:
limits:
memory: "2Gi"
cpu: "2"
requests:
memory: "128Mi"
cpu: "250m"
ports:
# snapcast ports
- containerPort: 1704
- containerPort: 1705
# web interface
- containerPort: 1780
- containerPort: 1788
# avahi
- containerPort: 5353
# airplay
- containerPort: 3689
- containerPort: 5000
- containerPort: 6000
- containerPort: 6001
- containerPort: 6002
- containerPort: 6003
- containerPort: 6004
- containerPort: 6005
- containerPort: 6006
- containerPort: 6007
- containerPort: 6008
- containerPort: 6009
- containerPort: 7000
- containerPort: 319
- containerPort: 320
env:
- name: TZ
value: Europe/Berlin
- name: AIRPLAY_CONFIG_ENABLED
value: "0"
- name: SPOTIFY_CONFIG_ENABLED
value: "0"
volumeMounts:
- name: pipe
mountPath: /mnt/pipe
- name: librespot
image: librespot
resources:
limits:
memory: "2Gi"
cpu: "2"
requests:
memory: "128Mi"
cpu: "250m"
# ports:
env:
- name: BACKEND
value: pipe
- name: DEVICE
value: /mnt/pipe/spotipipe
volumeMounts:
- name: pipe
mountPath: /mnt/pipe
volumes:
- name: pipe
emptyDir: {}
# - name: SPOTIFY_ACCESS_TOKEN
# value: BQBxGPPPXZTXF7WTBzJItu3KNkeoZu2j2-Rlk1RmtnmXvzPh1fWFpOT2VeXwWxMJXlBYwxSOTo1ZKk3hAr08OhDhbQChi6KDl6qEmK-Y8Wq8g3EoP7M-oRnHt4WFMg1zC1C37t90nQUKZ-F9UdSuL9A6Ny6V6pYsai1bUspOU0q5UHn6-Dv9E8gwEKXOPMlBKEXNi1D0sT2m9rzwI7UK1g7ToRPn03eqGe41RRvlfrSCgf41tg
# - name: SPOTIFY_EXTRA_ARGS
# value: " --disable-discovery --access-token BQBxGPPPXZTXF7WTBzJItu3KNkeoZu2j2-Rlk1RmtnmXvzPh1fWFpOT2VeXwWxMJXlBYwxSOTo1ZKk3hAr08OhDhbQChi6KDl6qEmK-Y8Wq8g3EoP7M-oRnHt4WFMg1zC1C37t90nQUKZ-F9UdSuL9A6Ny6V6pYsai1bUspOU0q5UHn6-Dv9E8gwEKXOPMlBKEXNi1D0sT2m9rzwI7UK1g7ToRPn03eqGe41RRvlfrSCgf41tg"
# volumeMounts:
# - name: config
# mountPath: /config
# - name: snapserver-config
# mountPath: /root/.config/
# volumes:
# - name: config
# secret:
# secretName: snapcast-config
# - name: snapserver-config
# emptyDir: {}

View File

@@ -0,0 +1,18 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: snapcast
resources:
- namespace.yaml
- deployment.yaml
- service.yaml
- snapcast-config.secret.yaml
images:
- name: snapcast
newName: ghcr.io/firefrei/snapcast/server
newTag: latest
- name: librespot
newName: giof71/librespot
newTag: latest

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: placeholder

11
apps/snapcast/pvc.yaml Normal file
View File

@@ -0,0 +1,11 @@
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: data
spec:
storageClassName: "nfs-client"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,86 @@
apiVersion: v1
kind: Service
metadata:
name: snapcast
spec:
selector:
app: snapcast
ports:
- name: snapcast
port: 1704
targetPort: 1704
protocol: TCP
- name: snapcast-ctl
port: 1705
targetPort: 1705
protocol: TCP
- name: web
port: 1780
targetPort: 1780
protocol: TCP
- name: web-alt
port: 1788
targetPort: 1788
protocol: TCP
# - name: airplay-3689
# port: 3689
# targetPort: 3689
# protocol: TCP
# - name: airplay-5000
# port: 5000
# targetPort: 5000
# protocol: TCP
# - name: airplay-6000
# port: 6000
# targetPort: 6000
# protocol: TCP
# - name: airplay-6001
# port: 6001
# targetPort: 6001
# protocol: TCP
# - name: airplay-6002
# port: 6002
# targetPort: 6002
# protocol: TCP
# - name: airplay-6003
# port: 6003
# targetPort: 6003
# protocol: TCP
# - name: airplay-6004
# port: 6004
# targetPort: 6004
# protocol: TCP
# - name: airplay-6005
# port: 6005
# targetPort: 6005
# protocol: TCP
# - name: airplay-6006
# port: 6006
# targetPort: 6006
# protocol: TCP
# - name: airplay-6007
# port: 6007
# targetPort: 6007
# protocol: TCP
# - name: airplay-6008
# port: 6008
# targetPort: 6008
# protocol: TCP
# - name: airplay-6009
# port: 6009
# targetPort: 6009
# protocol: TCP
# - name: airplay-7000
# port: 7000
# targetPort: 7000
# protocol: TCP
# - name: airplay-319
# port: 319
# targetPort: 319
# protocol: UDP
# - name: airplay-320
# port: 320
# targetPort: 320
# protocol: UDP
type: LoadBalancer
loadBalancerIP: 192.168.3.5

View File

@@ -4,7 +4,7 @@ kind: Kustomization
namespace: argocd
resources:
- namespace.yaml
- https://github.com/argoproj/argo-cd//manifests/cluster-install?timeout=120&ref=v3.2.1
- https://github.com/argoproj/argo-cd//manifests/cluster-install?timeout=120&ref=v3.2.0
- ingress.yaml
- argo-apps.application.yaml
- bootstrap-repo.sealedsecret.yaml

View File

@@ -11,4 +11,4 @@ resources:
images:
- name: dns
newName: git.kluster.moll.re/remoll/dns
newTag: 0.0.2-build.118
newTag: 0.0.2-build.113

View File

@@ -13,6 +13,6 @@ namespace: traefik-system
helmCharts:
- name: traefik
releaseName: traefik
version: 37.4.0
version: 37.3.0
valuesFile: values.yaml
repo: https://traefik.github.io/charts