The benefits of Linux home servers

I've discussed home servers before. Home servers are useful because they centralise, making data and services easier to manage. There are a number of different home server platforms available, but I choose Linux chiefly because of the power and flexibility it affords... not to mention it tends to work out cheaper.

Home servers centralise data (such as music files and documents) and services (such as home music servers and jukeboxes). This makes the data and services easier to manage, because they are all in one place. You don't need to remember where a particular album, or where your photos from Aunt Ethel's last visit, are stored. Backups run from just one place. If you ever want to access all of your music externally, just open your firewall to your music server.

There are a number of different ways that you can build home servers. You can go the generic route, or the specific one. Generic home servers are basically computers on which you install your own applications and invent your own file sharing structures. Examples of generic home servers are:
  • Linux (subdivided into the various Linux distributions)
  • Microsoft Windows Home Server
  • Mac Mini
Specific home servers are targeted at a particular problem. For instance, VortexBox is a music jukebox for distributing music through your home. You can pick these up in 'appliance' form, where the operating system, applications and all are already installed on a new piece of hardware, which you simply plug into your network. They often have Web interfaces to help with their administration.

I chose Linux. Here's why:

Cheap

It's true that Linux is generally free at the point of installation. There are no licences to purchase (unless you happen to use a beefy enterprise level distribution, but that's unlikely for a home server). It runs on less powerful computers, meaning that you can recycle your existing, older computers.

In general, because Linux can be operated without a graphical user interface, you save on the extra resources required to support said interfaces. You can strip a Linux box down to the bare essentials.

My current Linux server consumes about 50 watts. This supports 1.75TB of storage capacity, a video capture card, and a music server (VortexBox) in a virtual machine and a MythTV server. It could be more efficient because I could purchase more modern energy efficient hardware, but that would mean scrapping the existing hardware. My current calculations are that it would be cheaper to go with the existing hardware.

Powerful

'Power' is an overloaded term, but in this context I mean the ability to easily adminster the home server using a small set of common tools.

Everything in Linux can be administered from the command line and configured in the file system. This consistency of approach means that you can use the functionality of the command line for different applications and data types. Linux comes with a set of de facto standard GNU software packages. These are generic tools and can be applied to different uses. For instance, I can use the 'find' command to list all recently added music onto my home server.

Flexible

Linux was built for server deployments. The fact that it can be run and administered purely through a command line interface means that it is easy to administer a Linux home server wherever you are. I've lost count of the times I've realised I forgot to bring some photos to share with family on a weekend away; with a Linux server it's very simple to log in and transfer these files.

A number of the software tools that are available for Linux also speak of this pedigree. Using tools like cron and rsync for backups, generic tools as they are, make for a very flexible approach. If you fancy compressing those backups, just bolt gzip on the end. Because all the software talks to each other in a standard way, it allows different ways of solving problems.

Thanks to DeclanTM for his highly realistic home server portrayal!
tags: home_server

The Music Library Management blog

Dan Gravell

I'm Dan, the founder and programmer of bliss. I write bliss to solve my own problems with my digital music collection.