The Ultimate Home Server - Component: Media Hosting

For video, I’m personally pretty thrilled with Kodi, for a few reasons.

  1. Subsonic/Ampache client built in
  2. Ability to launch Steam on the client
  3. Really nice remote control phone app (Kore)
  4. Huge amount of metadata apps built in
  5. Way more flexible, services for Netflix, Prime, FloatPlane, etc. Also other, slightly more sailing around on the wave services available as well if so inclined.

The downside is, you have to host it at the client. Which means if you want to transcode local media from a centralized source, you need a more elaborate setup. (Kodi + Jellyfin, for starters).

For Music, SubSonic is the only way to go, because of the abundance of SubSonic clients. The question is - how?

If you want something standalone, Funkwhale is a really pretty option. It’s federated, easy to share your library with friends, and supports SubSonic.

The downside to Funkwhale is, you need to “import” tracks to it. So if you want to have an SMB share that you dump music into or keep raw tracks around, you wind up duplicating tracks. There is an option to “import in place” but it’s not at all convenient, and requires executing commands inside the docker container on a regular basis. You could set it up with cron, but for some reason cron in docker is a nightmare that still hasn’t been solved yet.

Anyways, all of that is far too complex when you could just use the built-in NextCloud Music app, which imports music automatically into your library, and gives you a SubSonic and Ampache server which works just fine with the multitude of clients.

For pictures, there’s some promising movement in NextCloud but nothing quite like Google Photos yet where you can search by object/person etc and get relevant results. One problem with NextCloud is it’s hard to get data in and out of. You basically have 3 options if you want a 3rd party service to be able to access your NextCloud data:

  1. Mount data with WebDAV, which not all 3rd party services can do
  2. Make an SMB share, which is annoying, because they can only be top level in NextCloud, and only get refreshed/indexed when the share is accessed through the GUI (so for Music, the Music app won’t pull in new music until you navigate to the SMB share, if you’re using SMB)
  3. Loose permissions in your NextCloud data folder, but then NextCloud doesn’t know when you’ve written/modified files, and also, the problem of loose permissions.

On the other hand, the NextCloud Android app can auto-upload your photos as you take them, and index them with a file name suffix, and by year and month. So that’s nice.

1 Like

I was an old school xbmc turned kodi user for the longest. I had zero complaints to be honest, and I consider the archiving of movies and shows sort of my rock garden. But like most of these solutions, it does require a lot of hand holding and tinkering to get it just right. That being sad, Plex sucks! haha

Any good Self hosting app for Magazines and Books have a few subscriptions like The Atlantic and Reason and want to have a good UI currently stored on Apple Books and pdfs in folders on an unraid share.

1 Like

Honestly, I just use Plex for it.

The TV in our living room is an Insignia 55" that’s now probably about 10 years old or more and I use a Mac Mini 2012 to “drive/run” that TV so I have Firefox for Netflix/YouTube and Plex to play media from the server.

Server is a QNAP TS-832X NAS which I think, currently has eight HGST 6 TB SATA 6 Gbps 7200 rpm HDDs in it in a RAID5 configuration.

It works.

I/we don’t need anything too crazy (e.g. 4K). TV doesn’t even support 4K so it’d be pointless for us.

I just keep it simple like that.

If I want to be able to stream music to our portable/mobile devices, I can do so over LAN (or WiFi) with QNAP’s Qmusic. Not the BEST app because I tend to find the songs a LOT faster with their advanced search than scrolling through thousands and thousands of songs, but again, it works sufficiently. It’s “good enough”.

I’ve used both Emby and Jellyfin, but since Jellyfin is based on Emby, the difference isn’t all that stark.

Jellyfin seems to have broken transcoding for me, so anything non-H264 was unplayable and would just result in an error.

I’ve switched to Plex a week ago, and, I’m sad to say, it is just better than Jellyfin, in my opinion. It’s annoying to set up and remove all the “Plex Movies” and stuff, but once it’s done, it’s done. The initial scan also didn’t take 5 hours (like in Jellyfin), but about 45 min. We have a 4K TV, but since no hardware encoding, it’s not really feasible.

For music streaming, the only good feeling and self-hosted solution I’ve found is Funkwhale. It’s not really meant for private libraries, that aren’t supposed to be shared, but it works. Although, development seems to have stalled. Only documentation and dependencies seems to update and the app has completely stopped it’s development.


Although I too love Jellyfin it seems to be broken especially with HW Transcoding. I switched six months ago to Plex and would love to say happy although I hope Jellyfin gets fixed and improved would love to switch to Open-Source.

1 Like

I’ll talk about what I do in terms of media, what i’ve tried in the past and what i’ve ruled out completely along with one thing that i wish was more useful but i see the potential of.

To clarify on the hardware i have:

1 Windows 11 desktop with every drive shared over the network
1 M1 Mac Mini connected to my 4K TV with 2 external drives shared over the network
1 Google Pixel 5 that uses a file manager app to access the shares on both of these computers

I mainly watch media on the Mac Mini using the video playing app IINA or in Edge. I listen to music on the Mac Mini just using Music and i have all my music local on this computer in a shared folder (In ALAC format).

I ingest my media by transcoding movies / tv shows to X265 using a custom bit of settings on my Windows PC using StaxRIP and manually converting any surround sound audio to stereo using Resolve and then exporting that to WAV and transcoding that to AAC using Apple’s AAC encoder using dBPowerAMP. Music, annoyingly, usually goes to the horribly inefficient ALAC format but i’ll transcode it to optimfrog or ape for devices that can use it, flac as a compatibility fallback.

I’m simple. SMB / Windows sharing on my LAN. It’s always just worked for me from any device I have that would need to consume the media i have. I’m rarely outside of my own LAN but in times i was i just set up an encrypted VPN server on my router itself, which is a normal Asus AC-1900P running AsusWRT Merlin, to get into my LAN that way.

In the past i’ve tried pretty much everything. Plex sucks, i’ll just say it. they want me to jump through too many hoops. Jellyfin and Emby are slightly better but still, why not just go to a folder and double click a thing or copy a thing over the network share to the device i’m using to watch the thing? metadata and indexing and transcoding is silly to me. I already do that when i first grab any media anyway.

For music i just do what i’ve always done, local files, copy albums to my device that i want music on and listen to it. no need for a server to handle that really.

There is one that I’m sure not many people will mention or even know exists.

perkeep/perkeep: Perkeep (née Camlistore) is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content. (

Annoyingly at the time of me posting this their website is being weird with HTTPS cert things… BUT the GitHub is still up.

This isn’t particularly “media” but it does allow you to put “anything” into a very unique storage system that can be accessed in a web browser and interfaced with in a lot of interesting ways.

EDIT: I forgot to mention something. The program called digiKam. This is a multiplatform “photo” library program. It also handles videos of pretty much any type. It has thumbnailing and facial recognition and tons of other features. it can be set up to be accessed remotely too. it’ll store the metadata and such in a SQLite DB or it can use MySQL. its just a simple program you can just run but its so good!

EDIT: another one, I’ll just throw MrMC / SPMC out there as another useful app/program. I used that on my Shield TV before. I had my media hosted on a Windows based NAS at the time and MrMC just linked to the SMB shared media folder and i did things like that until i got my Mac Mini.

Hope there is something here interesting in the way i handle my media.


I’m going to write my setup for jellyfin.


Yes please! I cant seem to make it work with TrueNAS scale. Logs says I am having permission issues and I really dont know how to settle that.

Alright, it took awhile but draft v1 is ready.

@wendell lmk what you think


I’ll also leave this here for anyone looking to set up Jellyfin on TrueNAS Scale:


Awesome work!


Thanks, same to you.


thjank you! I put you in a vid, but I forgot if its out yet. Keep up the good work.

alos I heard they’re fixing the docker flakiness and making it easier to use docker-compose


I really aprreciate that. I’m looking forward to seeing the video.

It won’t be the case for docker-compose on the Host any time soon I think, but I’ve been experimenting with this a bit, which is a Chart that allows to run a separate docker-compose environment.

Still a bit flakey so far, but I’m sure it’ll mature quickly.