this post was submitted on 28 Apr 2026
175 points (97.3% liked)

Selfhosted

56957 readers
627 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Edit: Also please tell me if a meme is even allowed as the thumbnail for the post in this community - just feels like it gets some of my current desperation across :D

Since the last time I posted here sharing my new home server, I've gotten a little more acquainted with the services I'm using. After getting acquisition of shows and movies sorted, I ventured into music (streaming).

As many here, I'm used to using streaming services for music, ie. Spotify or YouTube Music. Naturally, I tried a similar approach by setting up my Arr stack to feed its music into Jellyfin where the music is picked up by Symfonium. I tried it out for a couple days and liked it quite a bit since it keeps my phone clean of "unnecessary" data but I still retain access to music. Unfortunately, the way I acquire my music limits my selection quite a bit unless I venture into torrenting, which I'd prefer not to. So unless I figure out a safe way to torrent on my server, I'm stuck with getting access to a very limited selection of artists and albums.

In addition to that limitation, there's also the files formats of the music. Most of the music I've downloaded was only available in FLAC, which is awesome if you've got the bandwidth and data plan for playback, but for me it means that I spend 3GB of data for a day of streaming music which is just not sustainable.

In comparison, I can set up a Revanced version of Spotify in addition to my Revanced YT Music to get access to all the music I could want. Unfortunately, that comes with the caveat of still being tied to the companies I'm trying to get rid of - albeit not financially anymore, but I'm still sharing my data.

Ultimately, I'm not sure what to do. What I love about self-hosting is the independence from all the companies we're being fucked over by in all kinds of imaginable ways. But if it's free, outside my sharing data with them, can I really compete?

I'd be interested in hearing your opinions and thoughts on this. How did you solve music streaming with your build?

you are viewing a single comment's thread
view the rest of the comments
[–] enkille@lemmy.world 22 points 16 hours ago (2 children)

i also only download flac files, and i keep them in my ~/music/lossless directory. i use picard to organize that, and wrote a bash script to keep a synchronized opus format copy in ~/music/lossy. on my phone i use termux/ssh to rsync the lossy files to my phone and avoid streaming altogether. for reference, my lossless directory is 221gb, and lossy is 19gb.

[–] mpramann@discuss.tchncs.de 8 points 14 hours ago* (last edited 14 hours ago)

If you use something like Navidrome to host your own streaming service you can set up automatic transcoding and enable it on your phones streaming client (I use Symfonium). This way I can always access my whole library at any point with it not using too much of my mobile data. But my flac collection is quite big and even if transcoded completely I could not fit all of it on my phones internal storage.

[–] ImgurRefugee114@reddthat.com 3 points 15 hours ago* (last edited 15 hours ago) (1 children)

Same almost. I have an ~800gb main library of mostly lossless files that I squash to around 150gb by transcoding to 196k or something opus that i put locally on my phone. I also strip embedded cover art which can save a stupid amount of space sometimes; relying on folder hierarchy with cover.jpg/png files. (Bitrate is pretty overkill for me so I may drop it to 128-160...)

I haven't had the time to manage the tags properly on my reference library*, but my folder hierarchy encodes artist/album/title with optional years and track numbers. I wrote a linter script to check the structure, that every folder has a cover art image, and to warn about lossy formats not in directories suffixed with [lossy] (purely for documentation purposes; not used in script logic).

My transcode script generates tags from the folder and filenames, only copying genre tags if they exist and stripping everything else. Lossless files are transcoded while structure, art, and lossy files are copied. Then that result is synced to my mobile devices. So whenever I add music my workflow is to just name file folders properly and download or extract art then I just lint, transcode, and then resync.

*(Tags of my reference library don't matter so much to me, but the squashed lib needs consistent tags for mobile apps for behave as I intend)

[–] wltr@discuss.tchncs.de 3 points 15 hours ago (1 children)

Do you have your scripts hosted somewhere? Sounds like a really cool idea!

[–] ImgurRefugee114@reddthat.com 2 points 10 hours ago

I hadn't bothered because it was mostly LLM slop I edited until it worked, so it's specific and not robust. Just had to hack something together the night before I had to leave on a trip... Haven't had time to tag my music properly, so I'm still using it. The magic sauce is just ffmpeg and the mutagen Python lib.

https://pastebin.com/eam6Ydz1

https://pastebin.com/kL6pu5Wt