Page 1 of 1

How To Install Subsonic on FreeNas 8.3.1 release

PostPosted: Tue Apr 02, 2013 8:27 pm
by ForSSUx
Hi There,

I'm working as a sound engineer in the Belgian army...We have our own communications department.
At the video department we have 5 Avid stations that uses "Library Music" to enhance the viewing experience.

Our "Library Music" publisher mostly visit us once a year to upgrade ( add ) music.
We have several of these fine publisher ...www.sonofind.com..is one Universal is another.
They tend to do of course things a little different.
Anyway enough with the chit chat.

Tech Spec
Old Avid Unity chassis HP 8200xw Motherboard with 8GB ram and 16 disk each 160 GB running a zfs pool
I opted for FreeNas 8.3.1 release. We have over 500k of songs

I have installed subsonic on it from here http://forums.freenas.org/showthread.ph ... nic-Plugin from Joshua Parker thanks for this.
And learned a lot from here http://www.parmeter.net/ben/2011/02/02/ ... tructions/
After running this I quickly learned that although a great program, I needed tag search and here begins the MusicCabinet story

1) Requierments:
a) a jail setup as described here:
http://doc.freenas.org/index.php/Plugins

b) DNS check like the one from google 8.8.8.8
In the main one can do it via the webpage "Horizontal Network tab and in Global Configuration choose nameserver 1 and fill 8.8.8.8 and/or nameserver 2 8.8.4.4
freenasDNS.PNG


c) a mount point for your media
freenasMountpoints.PNG


2) Remove or make the jail
a) create two datasets in your ZFS pool
freenaspool.PNG


b) upload the FreeNAS-8.3.1-RELEASE-x64.Plugins_Jail.pbi
freenaspluginssettings.PNG


c) make sure the plugin service is active
freenqsservices.PNG


now to be on the safe side ...the web page doesn't always tells the truth.
Go to the shell and type

[root@freenas ~]#
Code: Select all
jls 

JID IP Address Hostname Path
1 - software /mnt/DGCOM-Music/jail/software
voila the jail is running and has a JID of 1

d) make sure you can search the jail
[root@freenas ~]#
Code: Select all
jexec 1 /bin/tcsh

software#
Code: Select all
/usr/libexec/locate.updatedb


3) Installing subsonic in the jail.
a) open the jail

[root@freenas ~]#
Code: Select all
jls     

JID IP Address Hostname Path
1 - software /mnt/DGCOM-Music/jail/software


okay open the jail with:
[root@freenas ~]#
Code: Select all
jexec 1 /bin/tcsh

software#

The software# is the name of my jail and may be different for you

b) install dependencies in the jail

I'm not sure about these steps you can try to skip them..

software#
Code: Select all
pkg_add -v -r xtrans

software#
Code: Select all
pkg_add -v -r xproto

software#
Code: Select all
pkg_add -v -r xextproto

software#
Code: Select all
pkg_add -v -r javavmwrapper

software#
Code: Select all
pkg_add -r -v http://ftp.urc.ac.ru/pub/OS/FreeBSD/packages-7/Latest/lame.tbz

software#
Code: Select all
pkg_add -v -r flac

software#
Code: Select all
pkg_add -v -r ffmpeg


Difficult to get the packages?
software# pkg_add -rn openjdk7
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/po...t/openjdk7.tbz... Done.
Package dependency xextproto-7.1.1 for ftp://ftp.freebsd.org/pub/FreeBSD/po...t/openjdk7.tbz not found!
etc....

ping 8.8.8.8 result not okay?
ping google.com result not okay ?
if above doesn't work you'll never find the packages..

I had this at my work we have a public part ipadress are in the 10.29.66.xxx this range has ftp
The working server when running needs to be at 10.120.17.xxx this range has no ftp
So I needed to switch between them and forgot to change the Ipadress of the jail ..
Of course the packages weren't found

exit the jail...
Code: Select all
exit


do you have a nameserver in your /etc/reolv.conf?
Code: Select all
vi /etc/resolv.conf

some keys for vi "esc" "i" "d" "r" i=insert r=replace d=delete alter between them with the esc key
to save "esc" ":wq!" :wq! is entered at the prompt
to quit without saving ":q!"
so change your /etc/resolv.conf and add nameserver 8.8.8.8 or at the prompt you can:
echo nameserver 8.8.8.8 > /etc/resolv.conf the > pipes the output to a file instead of standard to the screen..

You can also use the gui tab network fill nameserver 1 and IPv4 default gateway !!!

You can also copy the files onto the nas with al its dependencies aargh ..look at the -r
The -r let it go to a standard location if you know another place

software#
Code: Select all
setenv PACKAGESITE "ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/All/"

software#
Code: Select all
pkg_add -v -r xproto-7.0.22.tbz


or if you downloaded with fillezilla at home place it somwhere in your jail and do
Code: Select all
pkg_add -v /media/ xproto-7.0.22.tbz
notice that the -r is not used

c) installing actual subsonic software

download the stand allone version here http://www.subsonic.org/pages/download.jsp and move it to your share, mine is /mnt/DGCOM-Music
software# mkdir /var/subsonic
software# mkdir /var/subsonic/standalone
software# cd /var/subsonic/standalone
software# tar xvzf /mnt/DGCOM-Music/subsonic-x.x-standalone.tar.gz

some of us will have to do a: chmod 777 *.*


d) adapt some variables here and there

software# vi /etc/hosts
change this line 127.0.0.1 localhost localhost.my.domain
to 127.0.0.1 localhost localhost.my.domain software

software# vi /var/subsonic/standalone/subsonic.sh

SUBSONIC_HOME=/var/subsonic
SUBSONIC_HOST=192.168.1.66 #my jail has ip 192.168.1.66 yours?
SUBSONIC_PORT=4040
SUBSONIC_HTTPS_PORT=0
SUBSONIC_CONTEXT_PATH=/
SUBSONIC_MAX_MEMORY=450
SUBSONIC_PIDFILE=
SUBSONIC_DEFAULT_MUSIC_FOLDER=/media
SUBSONIC_DEFAULT_PODCAST_FOLDER=/media
SUBSONIC_DEFAULT_PLAYLIST_FOLDER=/media

where is it:

cd /var/subsonic/standalone
#if [ -L $0 ] && ([ -e /bin/readlink ] || [ -e /usr/bin/readlink ]); then
#cd $(dirname $(readlink $0))
#fi

for the java

If you'll get a error in the subsonic.sh_log ( software# cd /var/subsonic ) about java then
software# vi /var/subsonic/standalone/subsonic.sh

if [ -e "${JAVA_HOME}" ]
then
JAVA=/usr/local/openjdk7/bin/java
fi

and
software# pkg_add -v -r openjdk7 (this takes some time)

4) test your subsonic

[root@freenas ~]# jexec 1 /bin/tcsh
software# cd /var/subsonic/standalone
software# ./subsonic.sh
Started Subsonic [PID 5613, /var/subsonic/subsonic_sh.log]

write down the pid number 5613


software# kill pidnumber of subsonic you'll wrote down otherwise reboot

exit jail

software# exit

5) startup modifications

echo postgresql_enable="YES" > /etc/rc.conf
subsonic startup script somebody?

6) transcoding

I didn't need this so this is a 1/1 copy of http://www.parmeter.net/ben/2011/02/02/ ... tructions/

mkdir /var/subsonic/transcode
cp /usr/local/bin/lame /var/subsonic/transcode/
cp /usr/local/bin/flac /var/subsonic/transcode/
cp /usr/local/bin/ffmpeg /var/subsonic/transcode/

Configure your transcoder settings. In the Subsonic web interface go to “Settings > Transcoding”.

In this example, I’ve set up FLAC to transcode to WAV, then to MP3. On the line reads “flac > mp3″ modify the following:

Step 1 = flac -c -s -d %s
Step 2 = lame -b 192 – -


Kind Regards and thanks for reading
Guy Forssman