Daap - Firefly media server on Unraid ?

Recommended Posts

  • 4 weeks later...

Any modification that does not require a kernel rebuild or compiling can be done using the procedure I posted here:




If it requires compiling, you can install the development kit first, and then compile.


When I get some time, I'm going to create a Slackware development system and import all the GPL'd source code changes for unRAID and see if I can compile it.  If it works, I'll post instructions.  If it works, you'll still have to have your USB key in place for the license, and you'll have to copy emhttp to the system yourself.  But other than that, you will have a full development system to play with.


Some of the issues Tom has faced with unRAID have been complicated by trying to make a very hardware-sensitive product work on a wide range of hardware.  Believe me, that's tough.  I as a user however, only have one set of unRAID hardware, and some features of the OS are denied to me in unRAID because those features would break support for someone *else's* hardware (i.e. S3 suspend support).

Link to comment
  • 2 months later...

Do you realize that certain drives would probably never spin down due to rescans of the media library?


This would cause the media share (drive) and parity drive to spin up often

(uness you set the rescan interval pretty high).


I'm sure I could get the old mt-daap running.

I got it running on a lil kuro box a while back.


I have not tried my hand at firefly yet.



Link to comment

Directory caching.  Even the current limited caching tends to allow drives to stay asleep for very long periods, while being constantly scanned for media changes, unless a very large transfer occurs which flushes the current cache.  And there is enhanced directory caching planned for a future release, I believe.  The parity drive only spins up for writes to the array, not reads, so streaming and scans never affect it.


Link to comment

Got it compiled,

Testing it out now.


You will need to install this




Download it to one of your drives (or your boot flash).


I put mine in /boot/packages.


Then add the followiing to your go script


installpkg /boot/packages/libid3tag-0.15.1b-i486-2

rm -f /usr/include/id3tag.h


(might as well remove what is not needed)



More to come.

I have to package up sqlite3


package up the mt-daap.


I have to play around with things more to find the best starting config.



I should ask....


Do you know how to modify the mt-daap.conf file and set it up for your system?





Link to comment

OK, It's running to my soundbridge. Not sure how to test it with anything else.


There are two versions,


The STABLE version which uses the GDBM Libraries

The SVN version which uses the SQLITE Libraries.


Which do you want? LOL!!


The sqlite version requires another package to be installed.

It's later, but still does not seem to be a real release.






Link to comment

The web interface should be working. (I have not tried it, but I expect it to.. so I'll test it out).


I think initially you will need to edit the mt-daap.conf file directly to setup the correct directories.


What is your share or path to the music on your unraid box?


Mine is /mnt/user/music


You will certainly need to modify the go script on the boot flash.

I'll supply an install script.

I'm going to work on a shutdown script so that it saves any changes made on the root ram disk, back to the flash disk.


No matter which package you use that I've created, they both require the libid3 library in the link I supplied above.


Hmmm, now I have to figure out how to attach a file to a message.

(Or pm me your email address directly).



Link to comment
  • 1 month later...

now someone to help with those torrentflux? (see appropriate thread)


I don't have too good a feel of that one.

It's not a lightweight process that lends itself well to running on a ram disk.

I think the requirements are going to be a much larger amount of memory.


From what I saw it Requires

    * Apache with PHP module

    * MySQL Database

    * Python 2.2 or higher


So we'll have to deal with the DISK footprint (on ram if you want hard drives to spin down)

and the memory footprint.





Link to comment
  • 1 year later...

A media server is a computer appliance, ranging from an enterprise class machine providing video on demand, to, more commonly, a small home computer,




[ u r l ] http::: www i n i n com pr oduc tso lutions pages en terprise-i p-te leph ony aspx ]i p  p b x[ / u r l ]


Please confirm you are a real person, and not a spammer or spambot.  If you are a real person, then I do apologize.


This is the 4th time that I have seen a new user, with never more than 1 post, add a post to an old thread with a fake signature that includes an external and somewhat irrelevant link in it.  It always has one sentence, that *almost* makes sense, and always includes a word or 2 that seem relevant to the subject of the thread, or appear to respond to the original poster, even though the original poster may not have posted in more than 5 pages.  Except for the included words of 'relevance', the sentence itself has always been completely out of any context that I could see.  Then a divider line is created with a link to an unknown site below, designed to look like a signature, but is not.  At least 2 of the these 4 posters (and their single post) were deleted by someone, so I must not be alone in suspecting these.  The third is here.


Until confirmed to be innocent, I would treat these fake sig links with extreme caution, sandboxed.  I haven't setup any sandboxing myself, so I have never checked out any of these links.

Link to comment
  • 7 months later...

It's a standard slackware package.

Put it in /boot/packages

use installpkg from your go script.

You will need to devise a way of saving the configuration on each reboot and restoring it before installing the package.

It's been so long since I've visited this that's all I can remember this early in the morning.

Link to comment
  • 4 months later...

I have not touched this in ages.

I do know that you have to configure a few things in the /etc conf file.

Then start it up with /etc/rc.d/rc.mt-daapd

The end user is responsible for making the configuration changes.

Then saving them on the local flash and putting them in place before the server is started up.

Maybe one of these days I'll add that to the rc script.

There has not been allot of demand for it.


root@Atlas /boot/packages #/etc/rc.d/rc.mt-daapd status

Usage: /etc/rc.d/rc.mt-daapd {start|stop|restart}


root@Atlas /boot/packages #ls -l /etc/mt*

-rw-r--r-- 1 root root 6595 Feb 25  2008 /etc/mt-daapd.conf

-rw-r--r-- 1 root root 6544 Feb 22  2008 /etc/mt-daapd.conf.new

-rw-r--r-- 1 root root 8126 Feb 25  2008 /etc/mt-daapd.conf.svn-1586

-rw-r--r-- 1 root root    0 Feb 25  2008 /etc/mt-daapd.playlist

Link to comment
  • 3 weeks later...

I had some difficulties with my server  :o that´s why I couldn´t reply.


I thought I followed all available advice but still no success with FireFly. Let me summarize what I did.


I downloaded libid3tag-0.15.1b-i486-3 plus mt-daapd- and copied both files to my boot flash in /boot/packages. Some changes to the go script were required:


#Firefly iTunes Server

installpkg /boot/packages/libid3tag-0.15.1b-i486-3.txz >null

rm -f /usr/include/id3tag.h >null

installpkg /boot/packages/mt-daapd- >null

/etc/rc.d/rc.mt-daapd start


I also changed the rc.mt-daapd file so that the correct conf file from the boot flash is being used (in order to use the customized shares)




# mt-daapd      iTunes music server daemon.                                                                                       


start() {                                                                                                                         

  if [ -x /usr/sbin/mt-daapd ]; then                                                                                               

  echo "Starting mt-daapd iTunes server: /usr/sbin/mt-daapd"                                                                       

  /usr/sbin/mt-daapd -c /boot/config/mt-daapd.conf 2> /dev/null                                                                   

  sleep 1                                                                                                                         




stop() {                                                                                                                           

    echo "Killing mt-daapd iTunes server... "                                                                                     

    killall /usr/sbin/mt-daapd 2> /dev/null                                                                                       



# How to call it.                                                                                                                 

case "$1" in                                                                                                                       









        sleep 1                                                                                                                   




        echo $"Usage: $0 {start|stop|restart}"                                                                                     





Here is the mt-daapd.conf (in /boot/config):

web_root        /mnt/user/mt-daapd/admin-root

port                3689

db_dir              /mnt/user/mt-daapd/db

mp3_dir          /mnt/user/musik

servername      FireFly

runas              root

playlist            /mnt/user/mt-daapd/mt-daapd.playlist

extensions      .mp3,.m4a,.m4p

logfile              /mnt/user/mt-daapd/log/mt-daapd.log

rescan_interval  300

always_scan      1

scan_type        1


However - the server doesn´t appear in iTunes and I can´t access the server via:


What am I doing wrong or what did I forgot?

Link to comment

The webadmin root is in /usr/share/mt-daapd unless you have copied it to /mnt/user/mt-daapd/admin-root


Since the package installs it in /usr/share/mt-daapd you might as well leave it there unless you have copied and are removing the /usr/share/mt-daapd version to save space.


In your go script the >null should be  >/dev/null  or >/dev/null 2>&1



When you do this command

/etc/rc.d/rc.mt-daapd start

Take note of the output.



Also look at the /mnt/user/mt-daapd/log/mt-daapd.log for any associated errors.


Link to comment
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.