I host most of my stuff on ESXi VMs, mostly Fedora.
Local Video/Music: mythtv with fanless minipc for front end.
email: (sendmail/spamassassin/dovecot with Thunderbird front end)
sharing/collaboration: Nextcloud
Chat: Matrix/Synapse with Element web for the past year or so, Openfire (XMPP) for at least a decade.
Ad block: pi-hole
DNS: local recursive resolver (BIND)
spell/usage check: langtool (minimal usage, but interesting)
torrents: deluge/deluge web
proxy (forward): squid (mostly to cache fedora updates)
Podcasts: podgrab (just installed this based on an HN story a few weeks ago. I like it!)
Firewall: Netfilter/IPTables on fanless minipc
I was also running a Diaspora pod for a while, but got rid of it. I may go back to it at some point.
Streaming: Currently I use a Roku stick for this, but have been playing around with kodi and jellyfin. I hate kodi. jellyfin is pretty cool, but can't handle large music collections (jellyfin server crashes when trying to load my 20,000+ music tracks).
I won't use them for video, since both seem to think that I should organize my video files (10,000+) according to their strictures (TV vs. Movies, etc.) rather than allowing me to maintain the organization I've used for decades (genre). What's more, using their clients, I'd likely need to transcode many videos, whereas my mythtv front end (via ffmpeg) handles just about any format I throw at it.
Now that I think about it, I self-host everything and eschew any "cloud" (read: someone else's servers) services, as my data is mine and how/when I use it is my business, not anyone else's.
I just wish that more developers would focus on ease of installation[0] instead of docker containers or rafts of non-standard dependencies, which would allow less technical folks to self host this stuff -- incentivizing a broader ecosystem for FOSS and self-hosted stuff.
I personally use fb2k with the dlna add-on for music streaming, with bubbleupnp server in the middle (mostly out of laziness; I used to stream to a Google cast device, though now I just have my stereo plugged directly into my PC). Bubbleupnp on Android is honestly one of the best music players I can ask for; it does nothing for audio quality, unfortunately, but everything for storing music wherever you want and casting it to wherever you want.
If you don't care for windows, airsonic is also pretty good; it supports both dlna and subsonic protocols. The only reason I use fb2k more often is that airsonic doesn't support multiple genres (I frequently shuffle a genre instead of using playlists). It's pretty heavy with memory compared to fb2k, though.
While you can't cast _to_ Roku using a dlna controller, Roku media player will allow you to browse and play content from a dlna server. There's also multiple channels available that provide other methods to stream music to Roku.
>If you don't care for windows, airsonic is also pretty good; it supports both dlna and subsonic protocols. The only reason I use fb2k more often is that airsonic doesn't support multiple genres (I frequently shuffle a genre instead of using playlists). It's pretty heavy with memory compared to fb2k, though.
Truth be told, mythtv works okay for my usual use case: shuffle all my music tracks (~22,000). But it has crappy playlist support.
I've been testing out a variety of music servers and am currently playing around with Navidrome[0], which seems to have better playlist support. And it's FOSS that runs on Linux.
BTW, Navidrome supports the Subsonic API and, as such, supports airsonic/subsonic clients.
I'm not so interested in using my phone to "cast" anything and I have plenty of storage and can fit the bulk of my music collection on the phone itself. I play that music with VLC[1] on the device -- no streaming.
>While you can't cast _to_ Roku using a dlna controller, Roku media player will allow you to browse and play content from a dlna server. There's also multiple channels available that provide other methods to stream music to Roku.
I tried that with jellyfin and mythtv (both are dlna servers too), but Roku Media Player can't handle anywhere near that many songs. It just hangs until I quit the app. And jellyfin can't handle such large playlists either -- it crashes the jellyfin server when I try to play a lot of songs.
I'm not in a huge rush to move the music off mythtv, but I do want to host my own streaming platform (I wish I didn't hate Kodi so much, Emby and Plex want to spy on me, and jellyfin's UI and Kodi-like strictures on folder structure (separating TV from Movies, rather than just dealing with the Genre --> Title --> Seasons[TV] --> Episodes[TV] structure I've been using for decades. As such, those are really non-starters for me.
Mythtv's plugin ecosystem is weak and streaming plugins are pretty much non-existent.
Eventually, I'll find (Navidrome?) a new music server and a media manager with decent streaming plugins. Then I'll add another fanless PC to plug into my receiver and run with it.
Until then, while what I have isn't awesome, between Mythtv, Roku and TiVo, most of my home media needs are met. I don't care about watching videos on my phone or "casting" them. And if I did, can access my video library and stream via Nextcloud.
Thanks for the suggestions. While they don't currently fit my use cases, I appreciate the information and discussion!
I've been wanting to self-host a podcast service. This might be a really stupid question, but how do you download the podcasts to your server? I'm guessing it's like an RSS thing, but how do you the feeds?
>I've been wanting to self-host a podcast service. This might be a really stupid question, but how do you download the podcasts to your server? I'm guessing it's like an RSS thing, but how do you the feeds?
Great question!
Yes, with podgrab[0] you can add RSS urls or OPML files or use the "search" feature which, using your search term, will query the podcasts in either Apple podcasts or podcastindex.com.
As an aside, the software developer seems to have a preference for Docker. I do not. As such, I downloaded the sources (Go) and installed on an existing VM. I even packaged up the binary with the rest of the package and it runs just fine, using very little (~150MB) RAM and only 33MB disk space, not including the podcasts, of course.
I encourage you to check it out. It works nicely so far (a couple weeks).
Local Video/Music: mythtv with fanless minipc for front end.
email: (sendmail/spamassassin/dovecot with Thunderbird front end)
sharing/collaboration: Nextcloud
Chat: Matrix/Synapse with Element web for the past year or so, Openfire (XMPP) for at least a decade.
Ad block: pi-hole
DNS: local recursive resolver (BIND)
spell/usage check: langtool (minimal usage, but interesting)
torrents: deluge/deluge web
proxy (forward): squid (mostly to cache fedora updates)
Podcasts: podgrab (just installed this based on an HN story a few weeks ago. I like it!)
Firewall: Netfilter/IPTables on fanless minipc
I was also running a Diaspora pod for a while, but got rid of it. I may go back to it at some point.
Streaming: Currently I use a Roku stick for this, but have been playing around with kodi and jellyfin. I hate kodi. jellyfin is pretty cool, but can't handle large music collections (jellyfin server crashes when trying to load my 20,000+ music tracks).
I won't use them for video, since both seem to think that I should organize my video files (10,000+) according to their strictures (TV vs. Movies, etc.) rather than allowing me to maintain the organization I've used for decades (genre). What's more, using their clients, I'd likely need to transcode many videos, whereas my mythtv front end (via ffmpeg) handles just about any format I throw at it.
Now that I think about it, I self-host everything and eschew any "cloud" (read: someone else's servers) services, as my data is mine and how/when I use it is my business, not anyone else's.
I just wish that more developers would focus on ease of installation[0] instead of docker containers or rafts of non-standard dependencies, which would allow less technical folks to self host this stuff -- incentivizing a broader ecosystem for FOSS and self-hosted stuff.
[0] https://news.ycombinator.com/item?id=30783477
Edit: Fixed list formatting.