DAAP (iTunes) server running and packaged

I've been working for some time to digitize my family's music collection, and I'm pleased to be mostly done with hundreds of CD's ripped, tagged, and served on my home network.

The latest piece is a DAAP server for the Apple devices. There are only a couple for Linux that have seen any recent development, so I settled on forked-daapd. There is also dmapd, which could be excellent. However, neither one had an ebuild available, and so if I was going to do a source build of a large project, I chose the one with the most recent activity.

I succeeded in the manual build, and iTunes found my library immediately. I wanted to go a step further and prepare an ebuild. I gave it a new overlay, also, since the Gentoo leadership advocates "themed overlays" instead of "Erik's-super-cool-stuff" type of overlay. Here is the overlay in a browsable and cloneable form. I may get it into layman, and I may also make future efforts to keep up with the version bumps, especially since the next version promises some mpd integration.

The digitizing stack

I haven't written yet about this effort, so here's the stack I use:

  • abcde for ripping and encoding. I encode to 192 bit, mp3 format. If I was starting all over I'd choose ogg but I've made this patented bed, and now I can sleep in it.
  • Picard for tagging. Picard is pretty outstanding for this, since it can harness the fingerprint-matching capabilities of the MusicBrainz project.
  • An external USB hard drive, as an archive. Dull as it sounds, I treat this as the "golden copy" of the media, and so it is storage and nothing else.
  • MediaTomb as a DLNA/UPnP server. I run this in a container on my home server. My PS3 finds it with no problems, and Windows machines do also. I plan to rebuild this container at some point to a) bind-mount the media directory which is now shared with another container, and b) use the MySQL backend since the SQLite backend is maybe too pokey for a collection my size.
  • As noted above, forked-daapd for the Apple devices. This runs in a container on the home server. I have the actual media on a large logical volume (LVM) on the host, and then bind-mount it into the small container. The mount is read-only so I can be assured that the daemon will never corrupt the precious media files.

Never done

When I say it's pretty much done, that means the media is accessible and my wife is impressed, no easy feat. Remaining tasks include the MediaTomb rebuild mentioned above, and also lots of tag cleaning. Specifically, I have a couple of classical box sets where the four discs didn't receive the same tags, and so they look like four releases. Also, there are errors.

End the madness

There are too many devices at my house, and something always needs fixing. I've set a moratorium on getting new devices because the sysadmin overhead gets unwieldy. Remind me to blog about the VOIP setup...


This has been a nice way to wind down a large project. I hope someone else finds this useful, and considers the ebuild.