Just an FYI - Subsonic (and forks such as Airsonic) would fit your wish of streaming & caching your own music to any device. There's clients for every device you care to name, even (surprisingly enough) a functioning client for my old BlackBerry Q10, with it's excellent speakers :)
It is self-hosted, but that's more a question of desire than ability I'd imagine
It is self-hosted, but that's more a question of desire than ability I'd imagine