Hacker News new | past | comments | ask | show | jobs | submit login
A personal music streaming server that works (koel.dev)
75 points by udev4096 51 days ago | hide | past | favorite | 70 comments



So instead of being able to use a wide variety of clients with established providers like jellyfin or plex etc., I’d be limited to koel’s app only? Jellyfin also just works for me.

I’m not opposed to new media servers, but with this starting out freemium, and with a proprietary API, I don’t see much reason to use it.


Ah... installation "wizards"...

   Your DB driver of choice [MySQL/MariaDB]:
    [mysql     ] MySQL/MariaDB
    [pgsql     ] PostgreSQL
    [sqlsrv    ] SQL Server
    [sqlite-e2e] SQLite
   > sqlite-e2e

   Absolute path to the DB file:
   > /home/user/koel.sqlite3

     WARN  Cannot connect to the database. Let's set it up.  

   Your DB driver of choice [MySQL/MariaDB]:
    [mysql     ] MySQL/MariaDB
    [pgsql     ] PostgreSQL
    [sqlsrv    ] SQL Server
    [sqlite-e2e] SQLite


https://github.com/koel/koel/issues/1099

Looks like the "sqlite-e2e" is for integration-test only.


But sqlite is the only choice from those options that makes any sense for a personal music server.

(I use it in this role, with my own home-brewed media and documents library.)


I have quite a few personal services running at home that use mysql.

Would be lovely if sqlite worked, but why is it the only one that makes any sense?


Installing/maintaining mysql or the others is a pain in the ass relative to sqlite (essentially no cost at all). For a personal media library, all write operations are trivially serializable. Sqlite DBs are the easiest to copy to new machines when you upgrade hardware.


> Installing/maintaining mysql or the others is a pain in the ass

Koel provides a docker-compose file for them, should make it trivial to spin it up.


Needing to delve into docker stuff is itself a bigger hassle than using sqlite. Which isn't saying much admittedly, but sqlite is basically hassle free in the most extreme way.


Oh yeah, but it's still far far away from "not making any sense"


It definitely should be the default IMO.


Interesting, I wouldn't consider another DB driver for integration tests if that isn't usable in production. Probably a good reason for it but can anyone clarify why that's done?


Well, sqlite is the most simple alternative that's great for local testing.


And yet the "getting started" page says: "Any database supported by Laravel – MySQL, MariaDB, PostgreSQL, or SQLite"

The "wizard" also proposes a regular "SQLite" option. But it fails as well.

I wouldn't mind if it was a humble project, but the website is full of marketing BS, including "Koel is a music streaming solution that actually works™"


...just owrks...


I really need something like this for video.

Basically a simple website for kids where they can select from pre-approved youtube accounts/videos or upload additional conten. Anyone building sth like this?


Another shout-out for Jellyfin. Somewhat unusual in that it's build with .NET technologies and runs on Linux, but it's proven to be an excellent media server for many years now.


It looks like PeerTube can automatically import videos from YouTube channels.

https://docs.joinpeertube.org/use/channel-sync

And as for letting you or your kids upload additional content, yup that’s what PeerTube is mainly for.

I run a PeerTube instance of my own to host some videos I made. I haven’t tried importing from YouTube to it though. I use yt-dlp to download videos I want to keep.


Jellyfin + yt-dlp/torrents


This is more or less what we do but recently the Jellyfin iPad client has become very flaky. My suspicion is the JS app's memory usage has grown to a point where it's causing the web view embedded in the app to run out of memory in which case getting newer client hardware should fix it.


YouTube archivist is what I would recommend for YouTube videos


Kodi and yt-dlp maybe?


Why not use one of the more established options to stream music? Like plex, emby, jellyfin?

I'm seriously asking for the best solution because I'm about to return to living in the same home so I plan on bringing back my Synology NAS and digitize my music collection.


People who run this or something similar (Jellyfin, Plex, Navidrome, etc.), what do you use to easily add new music?

Do you just log into Lidarr, or are there music players that have a nicer integration for this?


I buy music on Bandcamp, and copy the files over with SMB/Samba/network share.


I pull music from a wide array of sources (Bandcamp, yt-dlp, etc.), drop each album or release in its own folder in ~/Music, run beets on those files to clean the metadata and consolidate into V0 MP3, then rsync the beets library over to a VPS running Navidrome.

Took a fair bit of scripting and config to get beets working as desired, but the process is pretty close to perfect, and scales well into the terabyte range.


I make playlists on TIDAL and then download the playlist. Or favorite albums and whatnot, and download them.


I just have a Samba Server running as a second docker container and also expose a ytdl service for quick youtube -> server imports


i use rsync from my itunes/music.app library to the smb synology drive that acts as my plexamp library. works very well :)


Huh, demo not bad actually, and fair one-time pricing for plus version.

Although it did turn my relatively high-end laptop into the new GE hypersonic ramjet[1] and I couldn't hear the music over the fans... the visualizers were slow (wondering if it doesn't have 3d acceleration?) on Firefox / Linux. (Worked fine on Chrome.)

+1 for Jonathan Coulton though.

1 - https://news.ycombinator.com/item?id=40943253


Looks very similar to Navidrome, plus some UI polish, minus the subsonic integration that opens up to third-party mobile apps. Interesting anyway. I keep returning to Plexamp though, I don't quite like Plex "per se" but Plexamp mobile + the sonic analysis is something I miss when I don't have it.


It's still amazing there is just no all in one solution for viewing and sharing media between people. Having to hook Sonarr/radarr whatever into something to track indexers than a client then some kind of all in one interface that might not even be a media player....


Does anyone recommend any resource for downloading high quality.mp3/FLAC music that I can use put on my personal streaming service.

I know I can pirate but I really want to buy it legally in a way artists might benefit.

Places like Band camp have very small collections.

I know of 7 digital https://uk.7digital.com/

But for some reason "This store is not available for your location"


It probably depends on the genre, for metal, almost everything is on bandcamp. The main exceptions are some very old, some very poppy nuclear blast/napalm record stuff, or generally Japanese bands which mostly seem to not care about non-Japanese fans in general.

I buy about 1-2 albums a week from bandcamp.


> Places like Band camp have very small collections.

Really ? My bandcamp collection is big and my BC wish list is huge... so much good stuff there.

I'm afraid there aren't a lot of places that are fair to artists outside bandcamp.


Qobuz sells popular music in 24bit flac. Bleep and Boomkat sell more obscure stuff.

Your best bet is thrift/charity stores and ripping CDs. Super cheap and plentiful and albums are still put out on CDs.


To benefit the artist its usually better to pirate the music and buy some merch.


Interesting, do you have a source for this?


It depends on the artist and their contracts of course, but for normal (non-indie) artists with labels, this is well-known and you can read all about it all over the internet.

Generally, most bands make most of their money from touring, both from ticket sales and especially from merchandise (T-shirts etc.). They don't normally make much from CDs, and very little from streaming, that mostly goes to the label.

So if you really want to support an artist, go to their concert and buy a t-shirt. If a concert isn't convenient, you can probably buy a t-shirt from their website. This will do a lot more for their personal finances than worrying about copyrights.

Personally, though, I do like to buy CDs of artists I follow, and I normally rip my music in FLAC from those. A lot of the CDs these days are quite nice, with cool books sometimes.


beatport, beatsource, traxxsource, bandcamp. I think iTune store has 256kb/s AAC wich should be equal or better to high quality mp3. And I believe amazon music is similar.


Amazon Music has 256 kbps VBR MP3s


Ah, good to know. Thanks.


Beatport is the other place I buy from. Unfortunately if it's not on bandcamp or beatport the only remaining place is itunes.


Qobuz has an extensive online shop for music.


True, but they are pricey ($25+ USD for an album), and force you to choose between hi-res (24 bit FLAC) and CD quality, instead of purchasing rights to a song and offering MP3 as well.

I have an extensive MP3 collection, favorite albums I try to keep FLAC, while others I'm fine with MP3/320 or for stuff I collect but don't listen to all the time, VBR 256 is fine to keep size small.


Have you done an abx test on what you would consider bad mp3 from a "regular" store and the flac version?


You can still buy music from iTunes, not sure what formats you can download but AFAIK it's DRM-free these days


I have been using Koel for a few months on my server. It was pretty good but not great. Nowadays I have Navidrome running on a docker service, along with a samba server, so I can easily add content and use any Jellyfin client I want (Like Symfonium on Android).


Koel is an awesome product and a great base for any music streaming app or home media server. I see people complaining about the app "costing" as much as a cup of coffee at Starbucks (it can be easily compiled freely yourself https://github.com/koel/player) or how it stacks up to Jellyfin which has a very lackluster interface for music files. Koel does a great job replicating the functionality of Spotify or iTunes with your music library. It is well written, easily customizable and extensible. Nothing even comes close to Koel when it comes to the self-hosted music server category in terms of UX. It may lack some features of Ampache but it's certainly preferable to use when compared to that solution. Music players aren't extremely complicated a ground-up rebuild in this area often makes sense.


I wish I could have such app to stream music from my NAS. This is very nice though!


I use Plex because I already have it in use, though only on mobile/Windows. With real computers, I just mount the music volume and use mpd. Both work pretty well through a VPN too.


depending on your NAS, you might be able to run [0] Logitech Media Server; I still have it running on mine, and use it occasionally - I use it particularly for "play random album" which I have never seen elsewhere, and is great if you have a large collection of ripped music.

It also runs fine on an rPi.

[0] https://wiki.slimdevices.com/index.php/Logitech_Media_Server


I keep things simple on the serving side and just choose an appropriate client. I just use a NFS share on a Raspberry Pi with attached SSD to make FLAC files available on the network.

Playback is with Volumio on a Raspberry Pi that I have connected to the Hifi, Audivana on my Mac, and the nPlayer app on any iOS/Android devices. nPlayer is really great for video too.


I run Navidrome [1] in a Docker container on my Synology NAS.

It’s lightweight, can handle huge music collections, has a good web interface, supports Last.fm scrobbling, transcoding from the most formats and AirSonic-API for use with a wide variety of players/apps.

[1] https://www.navidrome.org/


I run both Plex and Roon on my Synology NAS. The former is used for videos/photos and to share with the in-laws, while the latter is mostly for my own owned & streamed music. Roon's not cheap, but it works for my various use cases for it.



plexamp (in combination with tailscale) works very well :)


I wonder if anyone knows if the mobile apps can cache music for offline listening? It's the only feature that's keeping me using YouTube Music's Uploads (formerly Google Play Music).


Symfonium [0] (which supports pretty much anything but koel) is a commercial android app, can cache & export, have rules for doing so automatically, supports a rolling cache, can decide via wifi connection if the cached or online version should be used. You can also choose if you want original files or transcoded ones.

[0]: https://symfonium.app/


Thank you so much! Will be very happy to move to something that isn't YouTube Music.


+1 for Symphonium. It's a great app that makes self hosted music not feel sucky. I live offline first and can attestb to it's caching capabilities.


For a personal server, I believe the most common deployment scenario would be a home PC works as a server behind a router/NAT box. However, I didn’t see they mentioned it on their website.


Some router can also expose the music as a media stream or upnp.


Is that the actual selling point? There are a number of personal music streaming servers that work. I've been using one for years.


I don't have any use for it but I like the name

It's the Indian name of a cuckoo songbird. And fun fact, it's onomatopoeic.


Whats the main advantages to plexamp? From what i can tell from the screenshots, the UI looks very clean.


Don't other personal music streaming servers work?


I definitely like the dev's stance on pricing.


Navidrome just works.


I miss jinzora.


This was one of the better apps I tried, sadly nothing beat commercial services




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: