Has anyone "ported" Slimserver to UnRaid ??


Recommended Posts

i'll second that...i love Slimserver, and while it's possible to have it running on another machine, indexing the unRAID contents, it's one of those scripts that would make a beautiful union with unRAID...would it require to have a full version of Apache/PHP running on unRAID first, or is there a more "self-included" way to do it? what are the dependencies, in other words?

Link to comment

I do not believe it requires apache/php.

 

I believe it has embedded http support.

However, it does require perl and a bunch of it's own libraries.

 

One of the caveats here is the amount of Ram it may require for indexing.

In addition, I do not remember how often it will scan the file system for new files (or if it is manual).

 

It's been a while since I've used it.

 

I'm sure it's feasible to get it installed.

My concern would be how much ram will it require.

 

Remember that the root filesystem is also in ram, so any additional software laying on the root filesystem consumes ram, then the program's data space takes up ram.

 

I'm contemplating the notion of having /usr/local mounted via loopback with a container filesystem on /boot.

I.E.  much like having swap using a file instead of a partition.

This would allow packages to be installed on /usr/local and stay installed.

Then upon startup mounting /usr/local via loopback with the customized filesystem.

 

Requirements in root memory would be less at the expense of speed in /usr/local and possible lifetime of the /boot flash key.

Care would have to be taken so that it is not written to constantly.

 

 

 

 

 

Link to comment

as far as the indexing goes, Slimserver gives you the option of using the iTunes library to pull its data from...since many of us are already placing the iTunes library on the unRAID server (at least i do), it may minimize the amount of "work" Slimserver has to do.

 

as far as RAM goes, many (if not most?) of us have 1GB in our unRAID, some of us even more, in anticipation of Tom's hint at including additional processor cores and RAM into unRAID's awareness...my gut feeling is that Slimserver could easily work with what's left of even 1GB after unRAID took its share...but my gut may just be plain wrong.

 

certainly an interesting prospect to get it working...i've researched audio servers for months and found Slimserver far superior to anything else out there...great developer community as well.

Link to comment

> i've researched audio servers for months and found Slimserver far superior to anything else out there...great developer community as well.

Unless you have a huge library like me. 
With over 60,000 mp3's slim server is a bit painful/
I'm sure I could get it working.. The requirements aren't too hard to satisfy. 
It just never did much for me.

I figured I would toss a few moments at it with a play by play. 



[code]
untarred squeeze center takes 75M. Perl 38M
root@unraid:/mnt/user/unraid# du -hs squeezecenter-7.0-17793 
75M     squeezecenter-7.0-17793

root@unraid:/mnt/user/unraid# du -hs local 
38M     local

 

root@unraid:/mnt/user/unraid# ROOT=/mnt/user/unraid/local installpkg packages/perl-5.8.8-i486-6.tgz 
WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package perl-5.8.8-i486-6... 
PACKAGE DESCRIPTION:
perl: perl (Practical Extraction and Report Language)
perl:
perl: Larry Wall's "Practical Extraction and Report Language".  Perl is a
perl: language optimized for scanning arbitrary text files, extracting
perl: information from those text files, and printing reports based on that
perl: information.  It's also a good language for many system management
perl: tasks.  The language is intended to be practical (easy to use,
perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).
perl:
Executing install script for perl-5.8.8-i486-6...
ln: creating symbolic link `perl' to `perl5.8.8': Function not implemented
ln: creating symbolic link `psed' to `s2p': Function not implemented
ln: creating symbolic link `pstruct' to `c2ph': Function not implemented
ln: creating symbolic link `pstruct.1.gz' to `c2ph.1.gz': Function not implemented
ln: creating symbolic link `psed.1.gz' to `s2p.1.gz': Function not implemented

 

Ut Oh.. seems like we don't support symlinks....

Nor hardlinks

 

root@unraid:/mnt/user/unraid/local/usr/bin# ln perl5.8.8 perl

ln: creating hard link `perl' to `perl5.8.8': Function not implemented

 

root@unraid:/mnt/user/unraid/local/usr/bin# cp perl5.8.8 perl

 

phew good old CP.

 

root@unraid:/mnt/user/unraid/local/usr/bin# perl

perl: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by perl)

 

Oh more dependancies....

 

root@unraid:/mnt/user/unraid# ROOT=/mnt/user/unraid/local installpkg packages/glibc-solibs-2.7-i486-6.tgz  
WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package glibc-solibs-2.7-i486-6... 
PACKAGE DESCRIPTION:
glibc-solibs: glibc-solibs (shared GNU C libraries)
glibc-solibs:
glibc-solibs: This package contains the shared libraries, binaries, and support
glibc-solibs: files required to run most Linux applications linked with glibc.
glibc-solibs:
Executing install script for glibc-solibs-2.7-i486-6...
sbin/ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory
/sbin/ldconfig: Can't link ./ld-linux.so.2 to ld-2.7.so
/sbin/ldconfig: Can't link ./libBrokenLocale.so.1 to libBrokenLocale-2.7.so
/sbin/ldconfig: Can't link ./libanl.so.1 to libanl-2.7.so
/sbin/ldconfig: Can't link ./libc.so.6 to libc-2.7.so
/sbin/ldconfig: Can't link ./libcidn.so.1 to libcidn-2.7.so
/sbin/ldconfig: Can't link ./libcrypt.so.1 to libcrypt-2.7.so
/sbin/ldconfig: Can't link ./libdl.so.2 to libdl-2.7.so
/sbin/ldconfig: Can't link ./libm.so.6 to libm-2.7.so
/sbin/ldconfig: Can't link ./libnsl.so.1 to libnsl-2.7.so
/sbin/ldconfig: Can't link ./libnss_compat.so.2 to libnss_compat-2.7.so
/sbin/ldconfig: Can't link ./libnss_dns.so.2 to libnss_dns-2.7.so
/sbin/ldconfig: Can't link ./libnss_files.so.2 to libnss_files-2.7.so
/sbin/ldconfig: Can't link ./libnss_hesiod.so.2 to libnss_hesiod-2.7.so
/sbin/ldconfig: Can't link ./libnss_nis.so.2 to libnss_nis-2.7.so
/sbin/ldconfig: Can't link ./libnss_nisplus.so.2 to libnss_nisplus-2.7.so
/sbin/ldconfig: Can't link ./libpthread.so.0 to libpthread-2.7.so
/sbin/ldconfig: Can't link ./libresolv.so.2 to libresolv-2.7.so
/sbin/ldconfig: Can't link ./librt.so.1 to librt-2.7.so
/sbin/ldconfig: Can't link ./libthread_db.so.1 to libthread_db-1.0.so
/sbin/ldconfig: Can't link ./libutil.so.1 to libutil-2.7.so

 

The requirements are building

 

root@unraid:/mnt/user/unraid# du -hs local

49M    local

Ok let's put it on root

 

root@unraid:/mnt/user/unraid# installpkg packages/glibc-solibs-2.7-i486-6.tgz   WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package glibc-solibs-2.7-i486-6... 
PACKAGE DESCRIPTION:
glibc-solibs: glibc-solibs (shared GNU C libraries)
glibc-solibs:
glibc-solibs: This package contains the shared libraries, binaries, and support
glibc-solibs: files required to run most Linux applications linked with glibc.
glibc-solibs:
Executing install script for glibc-solibs-2.7-i486-6...

 

OK that worked

 

root@unraid:/mnt/user/unraid/local/usr/bin# ./perl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

 

Hmmm...

OK, let's drop it perl on the root system for now.

 

code]

root@unraid:/mnt/user/unraid# installpkg packages/perl-5.8.8-i486-6.tgz

WARNING: pkgtools are unstable with tar > 1.13.

        You should provide a "tar-1.13" in your $PATH.

Installing package perl-5.8.8-i486-6...

PACKAGE DESCRIPTION:

perl: perl (Practical Extraction and Report Language)

perl:

perl: Larry Wall's "Practical Extraction and Report Language".  Perl is a

perl: language optimized for scanning arbitrary text files, extracting

perl: information from those text files, and printing reports based on that

perl: information.  It's also a good language for many system management

perl: tasks.  The language is intended to be practical (easy to use,

perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).

perl:

Executing install script for perl-5.8.8-i486-6...

[/code]

 

root@unraid:/mnt/user/unraid/squeezecenter-7.0-17793/Bin# ./build-perl-modules.pl 
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Can't locate File/Which.pm in @INC (@INC contains: /usr/local/slimserver/CPAN /usr/share/squeezecenter/CPAN CPAN /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .) at ./build-perl-modules.pl line 20.
BEGIN failed--compilation aborted at ./build-perl-modules.pl line 20.

root@unraid:/mnt/user/unraid# ln -s /mnt/user/unraid/squeezecenter-7.0-17793 /usr/local/slimserver

root@unraid:/usr/local/slimserver/Bin# ./build-perl-modules.pl 
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Welcome to the Slim Devices perl module installer.

These packages are needed for SqueezeCenter to function.
You will need a C compiler (gcc), make, and perl installed.

You will need development libraries for MySQL. eg: libmysqlclient

You will need development libraries for expat. eg: libexpat1-dev

*** Ignore any warnings about AppConfig. ***

Please enter a perl binary to use (defaults to /usr/bin/perl)
This must be the same perl binary that you ran this program with --> 
Please enter the path to your SqueezeCenter directory (ex: /usr/local/slimserver) --> 
Please enter a directory to download files to --> 
Downloads will use lwp to fetch tarballs.

Downloading Compress-Zlib-1.41.tar.gz to: /mnt/user/unraid/squeezecenter-7.0-17793/Bin
Can't locate auto/Compress/Zlib/autosplit.ix in @INC (@INC contains: /usr/local/slimserver/CPAN /usr/share/squeezecenter/CPAN CPAN /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/5.8.8/AutoLoader.pm line 160, <STDIN> line 3.
at /usr/local/slimserver/CPAN/Compress/Zlib.pm line 15
Uncompressing..
Configuring..
/usr/bin/perl Makefile.PL 
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Up/Downgrade complete.
Building..
Can't exec "make": No such file or directory at ./build-perl-modules.pl line 245, <STDIN> line 3.
Can't stat blib: No such file or directory
at ./build-perl-modules.pl line 297
Couldn't find a valid dynamic library for Compress-Zlib-1.41.tar.gz - something is wrong. Exiting!

 

The dependancies mount....

 

root@unraid:/mnt/user/unraid/packages# installpkg make-3.81-i486-1.tgz 
WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package make-3.81-i486-1... 
PACKAGE DESCRIPTION:
make: make (GNU make utility to maintain groups of programs)
make:
make: This is the GNU implementation of make, which was written by Richard
make: Stallman and Roland McGrath.  The purpose of the make utility is to
make: determine automatically which pieces of a large program need to be 
make: recompiled, and issue the commands to recompile them.  
make:
make: This is needed to compile just about any major C program, including
make: the Linux kernel.
make:
Executing install script for make-3.81-i486-1...

 

/bin/sh: cc: command not found
make: *** [Zlib.o] Error 127
Couldn't find a valid dynamic library for Compress-Zlib-1.41.tar.gz - something is wrong. Exiting!

 

Gcc is required... (at least for the initial build.)

OK, time to do this on a development system.... rather then directly on unraid...

 

Till another day..

 

Hope you got a hint of the work involved with the play by play.

Link to comment
Hope you got a hint of the work involved with the play by play.

 

haha, yes indeed i am beginning to see how much is involved...and how well you know your chops...'spect WeeboTech!

 

well, since Tom had mentioned Slimserver in his future possibilities, maybe there will be light at the end of the tunnel...in the meantime, i'm quite happy with leaving unRAID to do its thing, and using my W2K3 Server to handle the rest.

 

Link to comment
  • 4 months later...
  • 1 month later...

It works fine on my unRAID box.... install a full Slackware distro with Perl, and add unRAID to it per my previous post.  Then installing Slimserver (aka SqueezeCenter) is simple.

 

heh, i just took a look at ur previous post and just confused the hell outta me :/....no simple "install.exe" packages ;) hehehe

Link to comment
  • 1 month later...

I have Slimserver working now in BubbaRaid.  I plan to include it in the next version.

 

It was a bear to set up blind, as I don't have a slimserver player.... then I found out that you can emulate one with VLC. ;D

 

This pig is HUGE however, so I can't build it into the ramdisk, and I can mount it via cramfs since it has to write back to several files.  Plus, it has to be persistent for its database and playlists.

 

So it can go on the flash, or on the unRAID array.... which do you want?  If on the array, we need to pick a default location, such as /mnt/disk1/slimserver

Link to comment

I can't make it configurable.... at least not yet.

 

As far as mounting another filesystem, that's doesn't get me anything as I can just symlink to native files on the flash.  The only reason to mount another filesystem is if it can be compressed, such as cramfs.... but cramfs mounts are read-only.  There are some other alternatives, but they are heavy and some require non-standard kernel mods.

Link to comment

Crikey, thats about twive the size of the windows program folder which I expect holds the database, I assume the database being just the sql folders which aren't very big.

 

Plenty of room on my flash drive and by installing on the flash it also means system drives don't spin up but I suppose I could just have it on the same drive as my music, if that has to be drive 1 then thats fine by me, I'll just have a shuffle about.

Link to comment

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.

Guest
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.