database option for ‘local’


I have a 500GB collection which sits on my ZFS server. All PC users on the network access these files the same way from their desktops - they nfs mount in fstab to /nfs/Media/Music. This has the enormous advantage that playlist paths are consistent across the entire system. We use Clementine as our PC desktop player, and all playlists are saved in a public network directory. Because the path and filenaming is consistent, (/nfs/Media/Music/Artist/Album/Track) any user can play any playlist on any client. But not with Volumio, because I can’t set the Volumio db to source a local directory. My intention would then be to mount the collection to /nfs/Media/Music in Volumio, update the Volumio db using that dir as the source, then symlink the networked public playlist dir to var/lib/mpd/music/playlists, Then all users can play their playlists on Volumio as well…. That would be reeeeeeeaaaaaaaaaallllllllllly nice :slight_smile:

Currently I have convoluted hack to solve this:
I create:

  • Music db using the NAS option in Volumio NAS
  • a local /nfs/Media directory
  • a symlink in that dir: ln -s /var/lib/mpd/music/NAS/Music
    in fstab I add /tank/home nfs auto 0 0 which is where the shared playlists are.

BUT symlinking the playlist dir does not work, on startup there’s a line saying “can’t find /var/lib/mpd/playlists”…or something like that (because it’s been deleted and replaced by a symlink I assume) and the linked playlists do not appear in the Volumio menu. So I now leave the playlist directory alone and in rc.local I have added:

cp /tank/home/Public/playlists/*.m3u /var/lib/mpd/playlists
sudo chmod -R 777 /var/lib/mpd/playlists

so on startup it copies the shared playlists over. When I play a playlist from inside Volumio it looks for the listed track in the mounted /nfs/Media/Music, finds it, and plays it.

All fine, EXCEPT the dbase keeps getting corrupted (I’m on my 3rd reinstall since I started using this method) so I think the addition of a local option for file storage should solve it properly. Shouldn’t be difficult to implement in the db?