#+title: Squeezelite * Installation Install OS: Raspberry Pi OS Lite (Debian GNU/Linux 12: bookworm) Setup SSH Authentication #+begin_src bash :eval no # On Raspberry Pi ssh-keygen -t ed25519 -f ~/.ssh/lms_tunnel -N "" cat ~/.ssh/lms_tunnel.pub #+end_src Copy the public key on =homelab= Change =.ssh/config= #+begin_src conf Host homelab hostname 82.66.44.13 Port 22 user thomas IdentityFile ~/.ssh/lms_tunnel #+end_src Test the SSH connection: #+begin_src bash :eval no ssh homelab #+end_src Install packages: #+begin_src bash :eval no sudo apt update sudo apt install autossh avahi-daemon #+end_src Create service: =/etc/systemd/system/lms-tunnel.service= #+begin_src conf [Unit] Description=LMS SSH Tunnel After=network.target [Service] User=pi ExecStart=/usr/bin/autossh -M 0 -N \ -o "ServerAliveInterval 30" \ -o "ServerAliveCountMax 3" \ -o "ExitOnForwardFailure yes" \ -o "IdentitiesOnly yes" \ -o "TCPKeepAlive yes" \ -o "Compression yes" \ -i /home/pi/.ssh/lms_tunnel \ -L 0.0.0.0:9000:localhost:9000 \ -L 0.0.0.0:3483:localhost:3483 \ -L 0.0.0.0:9090:localhost:9090 \ thomas@82.66.44.13 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target #+end_src Enable the service: =sudo systemctl enable --now lms-tunnel.service= Set Up Avahi for LMS Service Discovery: =/etc/avahi/services/squeezebox.service= #+begin_src conf Logitech Media Server _slimdevices._tcp 3483 #+end_src Restart Avahi: =sudo systemctl restart avahi-daemon=. #+begin_src bash :eval no # Check tunnel status sudo systemctl status lms-tunnel.service # Check if ports are being forwarded sudo netstat -tulpn | grep -E '9000|3483|9090' #+end_src Troubleshooting: =sudo systemctl status lms-tunnel.service= Create the service for Holo Player service: =/etc/systemd/system/holo-audio-player.service= #+begin_src yaml [Unit] Description=Holo Audio DAC Squeezebox Player After=network-online.target sound.target lms-tunnel.service Wants=network-online.target Requires=lms-tunnel.service [Service] Type=simple User=root ExecStart=/usr/bin/squeezelite \ -o plughw:CARD=Enhanc,DEV=0 \ -s localhost \ -n HoloAudioDAC \ -a 2000:4:24:1 \ -b 4096:8192 \ -r 44100,48000,96000,192000 \ -p 55 \ -C 5 \ -d all=info \ -f /var/log/squeezelite.log Restart=always RestartSec=10 Nice=-10 LimitRTPRIO=99 LimitMEMLOCK=infinity [Install] WantedBy=multi-user.target #+end_src =sudo systemctl enable --now holo-audio-player.service= To see the logs in real time: =tail -f /var/log/squeezelite.log=