From 108cfa79b78c00350c1b92621b3163d750988649 Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Sun, 15 Feb 2026 17:30:12 -0700 Subject: [PATCH] musicassistant --- home-server/docker-compose.yml | 23 ++-- home-server/nginx.conf | 34 +++--- .../homeassistant/1-music-assistant.yml | 75 +++++++++++++ .../musicassistant-proxy-ingress.yml | 106 +++++++++--------- 4 files changed, 154 insertions(+), 84 deletions(-) create mode 100644 kubernetes/homeassistant/1-music-assistant.yml diff --git a/home-server/docker-compose.yml b/home-server/docker-compose.yml index a23e7d8..5c19a8e 100644 --- a/home-server/docker-compose.yml +++ b/home-server/docker-compose.yml @@ -124,20 +124,15 @@ services: # - '3050:8091' # - '3051:3051' - music-assistant-server: - image: ghcr.io/music-assistant/server:2 - container_name: music-assistant-server - restart: unless-stopped - network_mode: host - volumes: - - /data/music-assistant-server/data:/data/ - # cap_add: - # - SYS_ADMIN - # - DAC_READ_SEARCH - # security_opt: - # - apparmor:unconfined - environment: - - LOG_LEVEL=info + # music-assistant-server: + # image: ghcr.io/music-assistant/server:2 + # container_name: music-assistant-server + # restart: unless-stopped + # network_mode: host + # volumes: + # - /data/music-assistant-server/data:/data/ + # environment: + # - LOG_LEVEL=info prometheus: image: public.ecr.aws/bitnami/prometheus:2 diff --git a/home-server/nginx.conf b/home-server/nginx.conf index f8a7be1..5f79cda 100644 --- a/home-server/nginx.conf +++ b/home-server/nginx.conf @@ -176,24 +176,24 @@ server { proxy_pass http://immich_server:2283; } } -server { - listen 443 ssl; - listen [::]:443 ssl; - server_name sound.alexmickelson.guru; - location / { - proxy_pass http://host.docker.internal:8095; +# server { +# listen 443 ssl; +# listen [::]:443 ssl; +# server_name sound.alexmickelson.guru; +# location / { +# proxy_pass http://host.docker.internal:8095; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Protocol $scheme; - proxy_set_header X-Forwarded-Host $http_host; - proxy_set_header Host $host; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } -} +# proxy_set_header Host $host; +# proxy_set_header X-Real-IP $remote_addr; +# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +# proxy_set_header X-Forwarded-Proto $scheme; +# proxy_set_header X-Forwarded-Protocol $scheme; +# proxy_set_header X-Forwarded-Host $http_host; +# proxy_set_header Host $host; +# proxy_set_header Upgrade $http_upgrade; +# proxy_set_header Connection "upgrade"; +# } +# } server { listen 443 ssl; diff --git a/kubernetes/homeassistant/1-music-assistant.yml b/kubernetes/homeassistant/1-music-assistant.yml new file mode 100644 index 0000000..c24b815 --- /dev/null +++ b/kubernetes/homeassistant/1-music-assistant.yml @@ -0,0 +1,75 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: music-assistant-server + namespace: homeassistant +spec: + replicas: 1 + selector: + matchLabels: + app: music-assistant-server + template: + metadata: + labels: + app: music-assistant-server + spec: + hostNetwork: true + containers: + - name: music-assistant-server + image: ghcr.io/music-assistant/server:2 + imagePullPolicy: Always + env: + - name: LOG_LEVEL + value: "info" + - name: TZ + value: "America/Denver" + volumeMounts: + - name: data + mountPath: /data + volumes: + - name: data + hostPath: + path: /data/music-assistant-server/data + type: DirectoryOrCreate +--- +apiVersion: v1 +kind: Service +metadata: + name: music-assistant + namespace: homeassistant + # annotations: + # tailscale.com/expose: "true" +spec: + selector: + app: music-assistant-server + ports: + - name: http + protocol: TCP + port: 8095 + targetPort: 8095 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: music-assistant-ingress + namespace: homeassistant + annotations: + cert-manager.io/cluster-issuer: cloudflare-issuer +spec: + ingressClassName: nginx + tls: + - hosts: + - sound.alexmickelson.guru + secretName: music-assistant-tls-cert + rules: + - host: sound.alexmickelson.guru + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: music-assistant + port: + number: 8095 +--- diff --git a/kubernetes/proxy-ingress/musicassistant-proxy-ingress.yml b/kubernetes/proxy-ingress/musicassistant-proxy-ingress.yml index b6efc73..ac0c118 100644 --- a/kubernetes/proxy-ingress/musicassistant-proxy-ingress.yml +++ b/kubernetes/proxy-ingress/musicassistant-proxy-ingress.yml @@ -1,53 +1,53 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: musicassistant-ingress - namespace: projects - annotations: - cert-manager.io/cluster-issuer: cloudflare-issuer -spec: - ingressClassName: nginx - tls: - - hosts: - - sound.alexmickelson.guru - secretName: sound-tls-cert - rules: - - host: sound.alexmickelson.guru - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: musicassistant - port: - number: 8095 ---- -apiVersion: v1 -kind: Service -metadata: - name: musicassistant - namespace: projects -spec: - ports: - - port: 8095 - targetPort: 8095 - protocol: TCP ---- -apiVersion: discovery.k8s.io/v1 -kind: EndpointSlice -metadata: - name: musicassistant - namespace: projects - labels: - kubernetes.io/service-name: musicassistant -addressType: IPv4 -ports: - - name: http - port: 8095 - protocol: TCP -endpoints: - - addresses: - - 100.122.128.107 - conditions: - ready: true +# apiVersion: networking.k8s.io/v1 +# kind: Ingress +# metadata: +# name: musicassistant-ingress +# namespace: projects +# annotations: +# cert-manager.io/cluster-issuer: cloudflare-issuer +# spec: +# ingressClassName: nginx +# tls: +# - hosts: +# - sound.alexmickelson.guru +# secretName: sound-tls-cert +# rules: +# - host: sound.alexmickelson.guru +# http: +# paths: +# - path: / +# pathType: Prefix +# backend: +# service: +# name: musicassistant +# port: +# number: 8095 +# --- +# apiVersion: v1 +# kind: Service +# metadata: +# name: musicassistant +# namespace: projects +# spec: +# ports: +# - port: 8095 +# targetPort: 8095 +# protocol: TCP +# --- +# apiVersion: discovery.k8s.io/v1 +# kind: EndpointSlice +# metadata: +# name: musicassistant +# namespace: projects +# labels: +# kubernetes.io/service-name: musicassistant +# addressType: IPv4 +# ports: +# - name: http +# port: 8095 +# protocol: TCP +# endpoints: +# - addresses: +# - 100.122.128.107 +# conditions: +# ready: true