this post was submitted on 11 Jun 2025
45 points (100.0% liked)

Selfhosted

48368 readers
579 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.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
45
submitted 1 week ago* (last edited 1 week ago) by [email protected] to c/[email protected]
 

Hey guys i have been using Navidrome to stream my music from my server and its been amazing. I primarily use YT Music because of discoverability so I have all of my "primary" playlists (about 8 of them really, but supporting a somewhat arbitrary limit would be nice) in YouTube.

Im looking for an automated way to download the music and keep my navidrome instance updated with a couple playlists. I started working on some Python script to handle it, but its just not working super well so i would prefer to use someone elses solution haha.

Anyone have any good recommendations? I tried this one but I couldn't actually find the music and it seems to only support one playlist at a time. It would also be nice to download the album art and set some ID3 tags too

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 28 points 1 week ago* (last edited 1 week ago) (6 children)

Yt-dlp is the gold standard for that.

https://github.com/yt-dlp/yt-dlp

Tag cleanup and album art are their own beast that you’ll wanna tackle post-download, but beets is another gold standard tool that can help with that layer.

https://beets.io/

[–] [email protected] 5 points 1 week ago (3 children)

Yeah I am using yt-dlp to download the music, and I can set that on a cronjob no problem.

I am specifically asking for better downloading (I don't want just the raw YouTube title most of the time), album art, and ID3 tagging. But that beets.io thing looks super cool! I might integrate that into my existing python scripting instead of trying to build it all out myself

[–] [email protected] 6 points 1 week ago* (last edited 1 week ago) (1 children)

Just to throw out an easy option: if the music is well-labeled on Youtube, you can get pretty close to that full suite with just yt-dlp by using --embed-thumbnail as a stand-in for album art, dumping your files with an “Artist - track - album” naming structure using the --output-template flag — then using an awk or python script as a second pass to add the artist/track/album names to each file as tags.

E: and in case it isn’t self-evident, you don’t have to give yt-dlp a URL for each track; it’ll work fine with a playlist URL.

[–] [email protected] 3 points 1 week ago

Haha unfortunately the music on YouTube is not especially well managed. Ive been using YouTube for music for a long time so a lot of my music is uploaded by Vevo or "{Artist} - Topic" and stuff like that. Plus (IIRC) YouTube music doesn't give things like what album a song is from or when it was released

load more comments (1 replies)
load more comments (3 replies)