Vortexbox/QNAP NFS Project

Project Summary
Part 1 – VB box as Ripper direct to storage on QNAP via NFS. (COMPLETED)
Part 2 – VB as LMS with storage on QNAP via NFS (COMPLETED)

Background
I am a longstanding Squeezebox user and have a number of instances of LMS running in my network.
My “production” LMS is 7.7.2 running on a QNAP TS419P (4 disc raid) – there is no good reason why I haven’t upgraded this to 7.7.5 or 7.8 except the “it ain’t broke …” rule
I also have a single disc QNAP running 7.7.5 for library testing purposes, a Win XP box running 7.8 for general testing and whatever versions of LMS exist on a flashed o2 Joggler and whichever SD card I stick in a Raspberry Pi.
I have used EAC, VinylStudio & mp3tag for years.
I have some reasonable Linux skills.
I should know what I am doing however years ago I made a biggish mistake.
I decided (foolishly) to rip everything and digitise my vinyl to 320 kbps MP3. The decision was based on a) storage and b) mobile use (car & phone etc) criteria

My good lady wife bought me a pair of really expensive headphones for Christmas. I could hear stuff on MP3s that I hadn’t heard before and decided to rip a few CDs & some Vinyl to flac to see if that made a further difference – it did.

I still need mp3 copies of stuff to play in the car but due to 3g/4g & more and more wi-fi I don’t really need mp3s on my phone (except a few for holidays etc). I discovered Google Music storage a long time ago and have been backing up my LMS collection to Google who conveniently convert flac uploads to mps3 for you. I buy most of my CDs from Amazon who of course in many cases give you an mp3 autorip. When I want to change the library in the car (usb stick) I can download tracks from Google or Amazon. No big issue.

So now I need to re-rip a thousand or so CDs. Doing this with EAC or dbPoweramp is going to take a long time. Too long. I need something to rip more quickly but efficiently. Hence I built myself a VB using an old Dell server with a 200GB HD which I wish to use as a ripping tool and perhaps eventually as my production LMS but with storage maintained on the QNAP which incidentally does a weekly rsync to the second QNAP for backup purposes.

Some of you will say that it is best to keep the storage on the VB but I would disagree in my circumstances as I already have a high quality raided NAS. I would also suggest that VBs strongest attribute over other LMS hosting alternatives is the CD ripping and auto cover art creation.

I quite fancy the idea of a headless Mac Mini type box with SSD in my Living Room that can do the ripping and act as the LMS server (also as a player connected to hi-fi if need be) while the storage is safely out of the way in my office. I do have a spare Mac Mini (2nd Gen) which hardware wise would be ideal but I need to do a lot more research about the gotchas before I attempt to install VB on it. There seem to be major issues getting it to boot correctly so that is a step too far at this stage.

PROJECT PART ONE

Vortexbox 2.3
Initial Build. 2 issues encountered. 1. 403 forbidden when I first launched the web admin. 2. Samba would not start. Both issues quickly resolved by reference to the Vortxbox forum.
Basic testing of ripping process carried out successfully. One or two CDs where album cover could not be found. Easy to add via Samba interface.

I installed Webmin so that I could easily start and stop LMS without bringing up a shell session. Why is there no start/stop control in the VB admin interface ?

I ran Rsync on QNAP to pull files across from VB which was OK but there was a permissions issue which meant I couldn’t edit files via Samba without a separate chmod command.

My testing revealed that you you can’t  rsync the other way as QNAP rejects connection from VB. I think this is a version issue. However I determined that rsync of files in this way was not a long term option anyway as I don’t want to build up a separate library (albeit copied to QNAP) on VB.

I decided (as a few others appear to have done) to attempt to use NFS mount to rip direct to the QNAP and set correct permissions. I have succeeded to my satisfaction so what follows is my version of a How To.

Creating NFS Mount
I switched on NFS and set the correct NFS permissions on the QNAP Qmultimedia folder.
QNAP_2015-01-08_13-48-56

QNAP_2015-01-08_13-48-11

Set Access right to No Limit
Put the IP address of your Vortexbox in the allowed IP field

I then followed the instructions to create the NFS mount found here
http://blog.zwiegnet.com/linux-server/mount-nfs-share-on-fedora/

I mounted qnapipaddress:/share/Qmultimedia to mnt/NFS on VB and edited fstab as indicated. The connection worked straight away.

VB Ripping  – etc/ripit/config

I changed “dirtemplate” to create artist/album/track structure as per existing QNAP library –  http://info.vortexbox.org/tiki-index.php?page=Artist+%2F+Album+Directory+Structure

I changed output to “mnt/NFS” (and created a folder called “flac” in Qmultimedia on QNAP).

I switched off m3u playlist creation – I don’t need it.

I changed dpermissions to 0777 (see below) and set fpermissions to (at least) 0664

IMPORTANT NOTES
1. These permissions reflect the standard QNAP directory / file structure required for Samba. If you try dpermissions with 0755 or 0775 you CANNOT edit the files through Samba so you can’t for example correct tagging or delete shoddy cover art. LMS will see the files though.
2. NFS writes files with UID0 & GID0 unless you fiddle it to do different. On the VB this equates to root.root and in QNAP terms this maps to admin.administrators which is fine for LMS to access and also OK for access via Samba (for an admin user) provided the file permissions are set properly.
3. fpermissions sets the permissions on flac’s but does not set them on cover art – they already get created as 0644 by default
Now if I rip a CD on VB it get automatically saved to the QNAP in Qmultimedia/flac/artist/album and I can edit, rename, add cover art etc via a Samba share
I have the QNAP LMS set to rescan for new stuff overnight and can confirm that this works as intended

Part one completed.

 

EDIT. Part two was easy. Just pointed LMS at /mnt/NFS/flac. Job done. No issues.