Quick summary for those in a hurry
- Follow these instructions to install Debian on the PogoPlug.
- Once you've done that, follow the "install Squeezebox Server" section of the manual installation instructions on the SqueezePlug wiki.
That's it! Read on if you're interested in more detail and my ramblings ...
The concept
I know people have installed SBS on NASes and the like although I'd never really looked into this. Then a few weeks ago I came across a post about setting up a SBS for under $100. That was quite interesting, but what really caught my attention was an addendum right at the end that mentioned the guy was setting up a server on a SheevaPlug - a whole computer in a (large, wall-wart type) plug! Why this should be surprising in these days of iPhones and so on I don't know, but it caught my attention. The idea of replacing my big, old, noisy server with a small, low power, permanently on device for only a few tens of pounds was very appealing.
I started looking into the subject a bit more and found that there are a number of these "plug computers" around - albeit not literally built into a plug (even the SheevaPlug has a separate power cable in the non-US version). The SheevaPlug is sold as a "development kit", the intention being that other manufacturers would then base their own products on it, but you can buy it as a consumer to, for about £100 in the UK. This gives you a base computer with which to do what you will. There is a branded consumer version too, called the TonidoPlug, which comes with some bundled apps and costs about $99 (although I can't find a UK outlet).
The SheevaPlug is now a couple of years old and there are newer versions from the same manufacturer but these start getting more expensive. But there are other options too. The Seagate Dockstar is a small device with a dock for Seagate disks and USB ports for other disks, plus a network connection. It's based (I believe) on the PogoPlug (link is to v2 page), another "plug computer", which its v1 incarnation looked similar to the SheevaPlug. Both of these allow you to attach disks to it, connect it to your home network and register it with my.pogoplug.com in order to be able to access the content on the disks from anywhere on the internet. How these then differ from a NAS such as the LinkSys NSLU2 I don't know (apart from the external access).
What's interesting of course is that although these - the SheevaPlug apart - are sold as consumer, "plug 'n' play" devices, they are all fully fledged computers, running embedded Linux. And there's no shortage of information on how to reconfigure them as general purpose servers - or even specifically as SqueezeBox Servers. Having read around the subject for a few days, I decided to go for the cheapest option, the PogoPlug - only £50 on Amazon. This seemed a reasonable amount of money to commit to an experiment - since, from what I'd read, there was some chance that the process of installing a new system might not work properly, and also there was a chance that it just wouldn't be powerful enough to do what I wanted (specifically, there was a passing mention on one the SqueezeBox forums that it used a single-threaded Perl, which would be an issue for SBS).
The implementation

There are a couple of configuration options, drawing on the sterling work of one Jeff Doozan. He's figured out how to patch the embedded OS to boot from an attached USB drive, or even install on the internal storage. From then on, you can install any OS that supports the processor I guess, although I think in reality that means Linux. I found instructions to install ArchLinux and Debian (Jeff Doozan's instructions). Since I'm very familiar with Ubuntu, I chose Debian.
Most of the instructions I found concentrated on the Dockstar, presumably since this is a more common device. For example, the instructions on the SqueezePlug wiki, which seemed complicated and in any case specifically aimed at Linux newbies.
Instead, I found some very helpful instructions which were specifically for the PogoPlug v2. These go as far as installing Debian. There's no point in reproducing them, so here's a couple of additional comments:
- A number of sources mention that you will need to register at my.pogoplug.com in order to enable ssh, which is vital if you're going to get anywhere. In fact, I found it was open anyway. The only precaution I took was to disconnect my router from the internet until I'd disabled the auto-updating service that runs automatically.
- Most of the instructions implicitly assume you'll be using a flash drive as the boot source but I didn't have one lying around. I did have a spare 80GB USB disk though, so I used that. It worked fine.
- The script ran fine apart from a couple of files it couldn't find - in fact, the md5 files corresponding to the main files were missing off the server. A minor correction to the script fixed this (and mehl has since resolved this).
- I found that installing extra packages gave a warning about non-verified packages until I re-ran apt-get update.
- The first packages to install were apt-utils and dialog, which are both used by some packages when installing. I also installed sudo and nano, as per the instructions.
- I followed mehl's instructions to set up a user account with sudo access and lock out root (as Ubuntu does), which I think makes sense on a semi-public facing server.
- Finally, I configured ssh in the same way I did when I set up my first Squeezebox server. mehl also has some instructions for configuring ssh.
Having done this, the next step was to shut down and backup the drive before I did anything stupid!
Installing SqueezeBox Server was pretty straightforward. The SqueezePlug wiki also has some notes about manually installing SBS, which is what I followed.
- First, I set up a mount point for the disk drive at /media/d1.
- Then I plugged in the drive with the music on (a separate Seagate 1TB drive) and mounted it.
- Next, I created a symlink from the root directory to the music directory on the Seagate drive. This means I can configure SBS to look in a given directory and change the drive without reconfiguring SBS.
- Then I installed SBS using the instructions in the wiki.
Having done this, I pointed my browser to the SBS web ui, did the minimal config necessary and let the music scan run. It took a little under two hours - but I do have a reasonably large collection (over 28,000 tracks).
And that's it! The performance when playing music is indistinguishable from that of the big old server. The SBS web ui is a little slower perhaps, but not much. The PogoPlug itself makes no noise at all; the disks are very quiet, albeit just about discernible in a quiet room.