All of my music is digital and I have hifis in several rooms of the house. The main hifi has an Airplay client built into it, while the others are older so require a player plugged into Aux (a Raspberry Pi Zero with PhatDAC is perfect for this, which I’ll cover in another post).
To be able to stream my music to any of the players, and even synchronise the music across all of the, I use Logitech Media Server (SqueezeBox Server). I can control everything from my phone using Squeezer, or from any other device using the web UI.
I’m using a Raspberry Pi 4 to run the server (the same Pi that is running Pi-Hole), and my music is stored on a USB drive (exFAT) configured to mount on boot (it is permanently attached to the Pi).
Install Logitech Media Server
The below will automatically install the latest version:
sudo apt-get install libio-socket-ssl-perl
os=$(dpkg --print-architecture)
if [ "$os" = "armhf" ]; then os=arm; fi
url="http://www.mysqueezebox.com/update/?version=7.9.2&revision=1&geturl=1&os=deb"
latest_lms=$(wget -q -O - "$url")
sudo mkdir -p /sources
cd /sources
sudo wget $latest_lms
lms_deb=${latest_lms##*/}
sudo dpkg -i $lms_deb
sudo apt-get -f install
sudo service logitechmediaserver start
Mount the USB drive
First of all, we need to find the USB drive using
blkid
From the output of the above, my USB drive was:
/dev/sda1: LABEL="MEDIA" UUID="1A83-9930" TYPE="vfat"
To mount the drive on boot, we need to update fstab:
sudo nano /etc/fstab
I want to mount the drive to the /media folder, so I added the following line to fstab:
UUID=1A83-9930 /media vfat defaults 0 0
And to test that the drive mounts on boot, I restart:
sudo reboot
Configure Squeezebox Server
Now that the USB drive is available, everything else can be configured from the LMS web interface. This by default runs on port 9000.
I added the Airplay plug-in and then scanned the network, and my main hifi was added. Other hifis were added using Raspberry Pis running SqueezeLite player, which I’ll cover in a future post.