Jul 7 2007

mt-daapd based iTunes catalog sharing

I was always frustrated that I could not easily share my iTunes catalog across all systems in the house. All the songs are stored on a 1TB Network Attached Storage device (see the 1TB in the house entry), however the binary iTunes catalog itself is stored on a local disk. As the catalog contains absolute pathnames, it would be close to impossible to make that consistently work on all systems, especially considering that there are different OSs involved.

While poking around in the FreeBSD ports collection, I stumbled over mt-daapd. Mt-daapd (now called “Firefly Media Server”) is a lightweight server application that allows one to share a directory full off MP3 files (other formats are supported as well) in a way that iTunes can read/access. As the name suggests, the server uses the Digital Audio Access Protocol (DAAP) in order to be compatible with the iTunes application. iTunes itself will use the DAAP protocol if you use the “Share” option in it’s preferences.

The server was quickly installed on my FreeBSD box and it works just fine. Below is a diagram of the installation:


The Mac at the top is the “house-keeper” of the catalog. All imported songs end up on a shared folder on the NAS. This shared folder is mounted via SMB on the FreeBSD box where the mt-daapd daemon is running. Whenever I make modifications to the catalog (addition, deletion or updating tags) from the Mac, the FreeBSD system will automatically rescan the entire catalog and will update it’s own database of the songs on the NAS.
iTunes-clients, like another desktop system, a laptop and even the Mac itself, will see the FreeBSD server as a “shared catalog” inside iTunes.
Now the whole catalog is managed from one location and the results are consistently available to any iTunes-client.

One Response to “mt-daapd based iTunes catalog sharing”

Leave a Reply