Not so long ago I decided to switch from Google Play Music (where I’ve uploaded most of my library and which is soon to be subsumed under Youtube Music) to running my own open-source streaming service from my home server (an early 2011 Macbook Pro upgraded with SSD and an old Dell Desktop that crapped out recently). I initially ran mStream because I liked the idea of running a Node app, and it wasn’t too bad, but I could never get the Android app to work.

Lately, I’ve switched to Ampache, which is unfortunately PHP/MySQL-based, but it has a whole host of configuration options and is compatible with the well-supported Subsonic API, which means I can use DSub, the open-source Android app. Minus the usual hullabaloo getting that stack working on Ubuntu, it works great. I can even connect our Roku TV to it’s DLNA service to stream the library there.

Work let me take home an ancient Netgear ReadyNAS NV+, which I figured I’d use to hold the music and mount via NFS on the server. It sorta worked, but the Android app would crap out on random songs, which I’m guessing is due to the NAS throughput? So I dug up an old 2TB WD Passport Ultra (USB 3.0) and decided to format it to ext4 (took almost 5 hours!) and decided to connect it to my Raspberry Pi 4 (the Macbook is only USB 2.0). Incidentally, I decided to try out Pi-hole on the Pi and discovered that it blocks the Zelle functionality on my TDBank app so had to whitelist a bunch of URLs that I had to discover by trial and error via the logs. Here’s the list of URLs:

  • api.leanplum.com
  • cdn.branch.io
  • identity.mparticle.com
  • mediation.adnxs.com
  • mpsnare.iesnare.com
  • nativesdks.mparticle.com
  • nexus.ensighten.com
  • nym1-ib.adnxs.com

Anyway, the Pi is running NFS and the Pi-hole like a champ, and just running ls on the share vs. the NAS is infinitely faster. As for the NAS, probably best to relegate it to backup duties.