From a74e6c796cbe1618f5a6b9d1f8ce62b665264b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Mon, 1 Dec 2025 02:55:48 +0000 Subject: [PATCH] ifx: service problem, better clients documentation --- README.md | 26 +++++++++++++++++++++++++- deploy/app/deployment.yaml | 4 +--- deploy/app/service.yaml | 34 ++++++++++++++++++++++++++++++++-- deploy/infra/ingress.yaml | 2 +- 4 files changed, 59 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index fae1979..c6bf1c4 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,34 @@ Using the SeaweedFS CSI driver on the Casa Kubernetes cluster, connected to cent ## Clients -RaspberryPI client: +**RaspberryPI client:** - +**Fedora workstation:** + +``` bash + sudo dfn install squeezelite +``` + +``` bash +# ~/.config/systemd/user/squeezelite.service +[Unit] +Description=Squeezelite Client +After=pipewire.service + +[Service] +ExecStart=/usr/bin/squeezelite -o pipewire -s lms.casa.limbosolutions.com -n dionysus +Restart=on-failure + +[Install] +WantedBy=default.target +``` + +``` bash +systemctl --user enable --now squeezelite.service +``` + ## Setup and Deploy ### App diff --git a/deploy/app/deployment.yaml b/deploy/app/deployment.yaml index c395857..b4e44b5 100644 --- a/deploy/app/deployment.yaml +++ b/deploy/app/deployment.yaml @@ -19,7 +19,7 @@ spec: role: worker-node containers: - name: lyrionmusicserver - image: lmscommunity/lyrionmusicserver + image: lmscommunity/lyrionmusicserver:latest imagePullPolicy: Always volumeMounts: - mountPath: /config @@ -38,11 +38,9 @@ spec: protocol: TCP - name: 3483-sqz-tcp containerPort: 3483 - hostPort: 3483 protocol: TCP - name: 3483-sqz-udp containerPort: 3483 - hostPort: 3483 protocol: UDP resources: requests: diff --git a/deploy/app/service.yaml b/deploy/app/service.yaml index 2069deb..bcf7c4d 100644 --- a/deploy/app/service.yaml +++ b/deploy/app/service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: lyrionmusicserver + name: lyrionmusicserver-web namespace: lyrionmusicserver labels: app: lyrionmusicserver @@ -13,5 +13,35 @@ spec: protocol: TCP port: 9000 targetPort: 9000 - type: ClusterIP + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + name: lyrionmusicserver-clients + namespace: lyrionmusicserver +spec: + selector: + app: lyrionmusicserver + type: LoadBalancer + ports: + #! SlimProto clients require both control and stream ports. + # - TCP/UDP 3483: control channel (registration, handshake, status). + # - TCP 9000: audio stream channel for local library playback. + # If 9000 is blocked, internet radio may still work (clients connect directly to external servers), + # but playback of music stored on the LMS host will fail because audio delivery depends on 9000. + - name: sqz-http + port: 9000 + targetPort: 9000 + protocol: TCP + - name: sqz-tcp + port: 3483 + nodePort: 31444 + targetPort: 3483 + protocol: TCP + - name: sqz-udp + port: 3483 + nodePort: 31445 + targetPort: 3483 + protocol: UDP \ No newline at end of file diff --git a/deploy/infra/ingress.yaml b/deploy/infra/ingress.yaml index 3dce4b6..69fa906 100644 --- a/deploy/infra/ingress.yaml +++ b/deploy/infra/ingress.yaml @@ -10,7 +10,7 @@ spec: - match: Host(`lms.casa.limbosolutions.com`) kind: Rule services: - - name: lyrionmusicserver + - name: lyrionmusicserver-web port: 9000 tls: secretName: casa-limbosolutions-com-tls \ No newline at end of file