Introducing Blofeld

I’m happy to announce the initial “release” of a project I’ve been working on for quite some time now: Blofeld.

What is Blofeld?

In short, Blofeld is a music server. You install it on a Linux PC and tell it where your music is, and it provides a web interface that allows you to listen to that music almost anywhere you have internet access and a web browser. Blofeld is fairly similar to applications like Jinzora, Subsonic or Ampache.

So, why not use one of those apps you just mentioned?

There are a few reasons I decided to write Blofeld. First of all, I really just wanted a project to work on and an excuse to learn some interesting technology. Additionally, I found most of the existing options to be severely lacking in a few areas. Particularly, I find that they’re…

  • Very slow to import/update the library
  • Difficult to install and configure
  • Too complicated (have you seen some of the transcoding or ACL stuff?)
  • Invasive (e.g., modifying tags or adding images to the music folder)
  • Generally clunky and just not very friendly

Features

Blofeld is a very young project, but it still has a fairly respectable set of features. Currently it supports:

  • Automatic on-the-fly transcoding
  • Extremely fast library import/update
  • Cover art (including embedded art)
  • Nearly any audio container and codec
  • A modern, friendly web interface
  • Themes
  • Song downloads (in a zip file, with artwork)
  • Basic users, groups and permissions
  • JSON based API

What does it look like?

Blofeld is completely themeable, but here are a few screenshots of the default theme.

Installing on Linux

If you’re using Ubuntu Linux, you can install Blofeld from my PPA. You can do that by running these commands in a terminal:

# Add the PPA to your Software Sources
sudo add-apt-repository ppa:dwhayes/ppa
# Update the package list
sudo apt-get update
# Install the package
sudo apt-get install blofeld

Once you have it installed, you should be able to just run blofeld at the terminal and a configuration file will be created for you at ~/blofeld/blofeld.cfg. Edit it using your favorite text editor (you probably only need to change the path option, which should point to the folder that contains your music).

Run blofeld on the terminal again to start the application. Blofeld will immediately start scanning your music into its library. Point your web browser to http://localhost:8083 and you should be greeted with the web interface. You can stop Blofeld by hitting ctrl+c on your keyboard in the terminal where you started the program.

If you would prefer to have Blofeld run as a system service (i.e., start up when you turn your computer on and run in the background), then you’ll need to edit /etc/default/blofeld and set ENABLE_DAEMON=true and then run sudo start blofeld. This will create a configuration file at /etc/blofeld/blofeld.cfg which you need to edit (again, be sure and set the path to your music directory). Run sudo start blofeld again to actually start the application, and Blofeld will start automatically when your computer boots up from now on.

If you’re using Linux, but not Ubuntu, then download the latest release and follow the instructions in the INSTALL file.

Installing on Windows

Version 0.2.5 introduces Windows support. There are 2 different Windows builds available:

The installer will install the program on your system and all of the configuration, cache and log files will be stored as part of your user profile. CouchDB and GStreamer are included as part of the installer.

The zip file is intended to run the program out of a directory you could put anywhere you like. All of the configuration information, cached files and logs will be stored in the directory with the program. This is suitable for running as a portable application. If you plan to use this build, you will need to install CouchDB from Apache and GStreamer 0.2.17 Beta 2 from OSSBuild before you can run the application.

The first time you run the program, nothing will appear to happen. Blofeld will create a configuration file for you and then exit. If you used the zip file, you should find a file called blofeld.cfg in the directory with the application. If you used the installer, this file is probably in either "C:\Documents and Settings\[YourName]\Application Data\Blofeld" (Windows 2000/XP/2003) or "C:\Users\[YourName]\AppData\Roaming\Blofeld" (Windows Vista/7/2008). Obviously, you’d need to replace [YourName] with your actual username. Probably all you need to do at this point is check the configuration file and make sure that the path is actually pointing to the directory containing your music (e.g., path = C:\Users\Dave\Music).

At this point, you can run the program again. Once again, it will look like nothing is happening, but Blofeld is working in the background to scan all of your music into its library. To use the application, open up a web browser and navigate to http://localhost:8083 and you should be greeted with the web interface. Hopefully you can figure things out from there.

Being that this is the first release with Windows support, expect to run into problems. If you do, please report it (you can just leave a comment on this post if you like).

What’s with the stupid name?

Blofeld is named for the Bond villain, Ernst Stavro Blofeld. I have no idea why.

One Response to “Introducing Blofeld”

  1. Florent Says:

    Hello and thank you for this.
    But can you implement a auto-update of the database and view ?
    For when you add files, this is added in the database and the view browser without restart blofeld.
    Good day

Leave a Reply