Paul Chilton

Electronics, Home Automation & Software Development

View all Articles

Setting up Raspberry Pi as a Squeezebox Server

27 Mar 2013

This guide describes how to setup a Raspberry Pi as a Squeezebox server. It assumes a clean installation of Rasbian is setup and ready on the RPi. This will allow you to stream music from a central server to one or more players via your network. You can combine this with a wireless network and power your RPi from a battery to make this a truely portable music system.

Player clients can be either ‘proper’ Squeezebox products or you can use software players together in the same system. I will detail in a seperate post how to setup the RPi to be a Squeezebox client, you can have the player running on the same device as the server or you can have it running on a seperate RPi. You can also choose to synchronise multiple devices to the same music source and therefore stream the same music to multiple rooms!

Start by updating libraries and installing some dependencies:

sudo apt-get update; sudo apt-get dist-upgrade
sudo apt-get install libjpeg8 libpng12-0 libgif4 libexif12 libswscale2 libavcodec53

Download and install the Logitech Media Server:

wget http://downloads.slimdevices.com/LogitechMediaServer_v7.7.2/logitechmediaserver_7.7.2_all.deb
sudo dpkg -i logitechmediaserver_7.7.2_all.deb
sudo service logitechmediaserver stop

Download some helpful scripts from All Things Pi:

wget http://allthingspi.webspace.virginmedia.com/files/lms-rpi-raspbian.tar.gz
tar -zxvf lms-rpi-raspbian.tar.gz

Patch the Perl bootstrap module:

sudo patch /usr/share/perl5/Slim/bootstrap.pm lms-rpi-bootstrap.patch

Copy files to the correct locations for running and create some symbolic links:

sudo mv arm-linux-gnueabihf-thread-multi-64int /usr/share/squeezeboxserver/CPAN/arch/5.14/
sudo mv libmediascan.so.0.0.0 libfaad.so.2.0.0 /usr/local/lib
sudo mv /usr/share/squeezeboxserver/Bin/arm-linux/faad /usr/share/squeezeboxserver/Bin/arm-linux/faad.old
sudo mv faad /usr/share/squeezeboxserver/Bin/arm-linux
sudo ln -s /usr/local/lib/libmediascan.so.0.0.0 /usr/local/lib/libmediascan.so
sudo ln -s /usr/local/lib/libmediascan.so.0.0.0 /usr/local/lib/libmediascan.so.0
sudo ln -s /usr/local/lib/libfaad.so.2.0.0 /usr/local/lib/libfaad.so
sudo ln -s /usr/local/lib/libfaad.so.2.0.0 /usr/local/lib/libfaad.so.2
sudo ldconfig

Set permissions for the server files:

sudo chown -R squeezeboxserver:nogroup /usr/share/squeezeboxserver/

Start the server running:

sudo service logitechmediaserver start

Navigate to http://10.0.0.31:9000 (where 10.0.0.31 is the IP of your RPi) and configure the Squeezebox server.

Setting up Raspberry Pi as a Squeezebox Player   Samba File Share on Raspberry Pi