Replace alacritty with kitty, add squeezelite config
This commit is contained in:
126
squeezelite.org
Normal file
126
squeezelite.org
Normal file
@@ -0,0 +1,126 @@
|
||||
#+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
|
||||
<?xml version="1.0" standalone='no'?>
|
||||
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
|
||||
<service-group>
|
||||
<name>Logitech Media Server</name>
|
||||
<service>
|
||||
<type>_slimdevices._tcp</type>
|
||||
<port>3483</port>
|
||||
</service>
|
||||
</service-group>
|
||||
#+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=
|
||||
Reference in New Issue
Block a user