I love self hosting useful apps. I wish finding more things was easier. Right now I self host a jellyfin server and home assistant. When I learned a subscription for home security was $75/mo I said “there has to be something out there” and there was. I pay the developer their $6/mo even though everything works without it.
Jellyfin has been amazing for physical media backups. It’s nice to experience old VHSes and DVDs in a user friendly way.
nginx-proxy becomes almost a must have if you have multiple services and prefer remembering domain names instead of port numbers https://github.com/nginx-proxy/nginx-proxy
Most people will use nginx-proxy [0] or Traefik [1] for front ending home labs with LetsEncrypt certs... Beyond that people will protect them with things like Tailscale [2], Cloudflare Tunnels [3] or even just mTLS [4] for protected access.
Home labbing today has a lot of amazing software and it's hard to keep up!
And as for dashboarding [5] on top of all this there are a lot of options.
Also, for those new to the game who want an easier way to approach take a look at Tipi [6].
I use Tailscale for a bunch of self hosted services on a raspberry pi in my house. Port numbers and TLS certs are my current main problems with this setup but it's not annoyed me quite enough yet to do anything about it.
BTW why bother with TLS over already-encrypted and authenticated Wireguard tunnels? Is this just so that browsers won't complain, or do you have a more complex threat model?
Sorry for late reply, exactly that yeah - so the browser doesn't complain. I'm not worried about the security of HTTP over wireguard or anything like that. And domain names are easier to remember than ports so... http://raspberrypi:8123/ vs homeassistant.raspberrypi.local (or something)
> I use Tailscale...Port numbers and TLS certs are my current main problems with this setup
I've been running a Tailscale container, using the `tailscale serve` feature[0], as a sidecar for each containerized service I want to access. External access, TLS (to make my browser happy), and domain names all come for almost free. This allows me to set up `https://my-cool-service.lemur-pangolin.ts.net` with relative ease.
There's a ton of boilerplate, which drives me a bit nuts. But at least copy/paste is easy to do. Looking just now I have 31 Tailscale containers running that are almost duplicates of each other. You could probably do config generation but for a homelab I'm not motivated to really do that.
The command line interface for this tool is a little bit limited and forces you to share the network stack between your service and the sidecar. I would recommend injecting a config file into each container to give you full flexibility. I put up an example config on pastebin[1].
Lots of options to proxy and provide automation for certs. I'm personally a huge fan of Traefik, but I know a lot of folks use NPM since it's so simple and Nginx has great performance overall.
Of course, a service map comes handy, just another simple way of getting it done. What I meant with the proxy was using e.g. jellyfin.example.com and portainer.example.com instead of the ports. Not to mention that two apps might have the same default port.
For those with a multi-machine setup, like running the easy stuff on a 1L machine and having backupservice at multiple locations or the LLMs on a big setup that might even use WakeOnLan the proxy will keep you from having to remember the IPs as well.
That doesn't sound like a bad idea, but it's just as easy to create a bunch of LXC containers with their own MAC address and IP for me (and thus own hostname per service).
Heck you can even cobble stuff together with Home Assistants and various door/window/presence/water/humidity sensors. I was able to build a notification system when doors, windows, or fence gates are open. Same with panic buttons that alert my SO if any of us need assistance when putting kids to bed without whipping out the phones.
All of that can be loaded into HASS using a $26 Sonoff Zigbee dongle and various Zigbee devices like Aqara and others.
ADT; there’s a program through my employer where employees get deals and so I made first contact with them. I chatted with a salesperson who walked me through a sign up process before I could ask any questions (I made contact saying I wanted to inquire about services and then said we couldn’t talk until he collected all my information).
He said normally it’s $100/mo but with this deal, it’s $75/mo.
No thanks. $900/yr to $1200/yr + installation fee for home security kinda stinks. I was told the equipment wouldn’t work if I didn’t have the subscription.
I’m sure I was taken for a ride too, being told false information (the equipment really wouldn’t work? It’s really $75/mo?). I indeed felt like I was being treated like a mark. At the end I said delete my information but honestly I doubt they did. But who cares because now I got myself into this pretty fun world of home automation and security through Home Assistant and self hosting.
I've been using Plex (connecting via Tailscale) with their Plexamp music player.
It's been working pretty well, but I might have to give this a try to compare. Although, it's not clear from the GitHub README or the Apple App Store listing if the mobile app allows you to download music for offline listening.
Also using Plex and Plexamp, and very happy with that combo. Curious about why talescale is needed - I'm on a static IP, but I believe Plex also provides a forwarding service (?)
I think you were talking about Blackcandy in the second paragraph, but just to be clear, Plexamp does allow downloading for offline listening.
It's free, extremely easy (not that port forwarding is complicated) and you don't need to port forward.
I point DNS records on my personal domain to tailscale IPs so it some subdomains can only be accessed when connected to tailscale, I can do app.mydomain.com etc without exposing anything online.
- Cloudflare tunnel for public access
- Tailscale for private use and sharing over WebDAV
- Nextcloud for general file management
- Jellyfin for music and video streaming
Nextcloud's WebDAV has issues with filenames or at least how it works. A large amount of files in non-'standard' characters wouldn't show up, so Ampache/Subsonic wouldn't work. This is why I tried Jellyfin.
I tried this (among a bunch of others) about a year ago and landed on Gonic[1] for the server and Supersonic[2] on PC and Amperfy[3] on mobile. Yes it's a few different tools to maintain (plus beets etc), but it's the ideal set of features etc for me.
Self-hosting has been fun and I've started experimenting with local LLMs to build playlists which is helping discoverability.. or more /rediscovering/ artists that I haven't listened to in a while
I didn’t need a web client and Gonic shows the actual directory layout for the folder API. I have a few albums that requires gapless playback and most web players can’t accommodate them. My music library layout is mostly ‘collection/album-key/track-key.ext’ where album-key is something that uniquely identifies the album and make it easy to search for. For my main collection it’s’artist - year - album’ while for others it can be just ‘year - album’. Gonic shows the same layout to clients.
I think the folder structure like browsing is the main reason to ditch navidrome...
While I get the point, this is not an issue for my use case.
What I would love to see though is a "sync playlist to path" button in the web interface where it keeps the original folder structure. With this i could create partial lib dumps for my car usb stick or my family members. Maybe i submit an issue for this.
I have chosen jelly over it because of the way navi stores music. I prefer to organize music in folders myself, and tag them with picard. Jelly then just shows everything nicely with 0 configuration.
I don't remember why I settled on Navidrome instead of the others, but I basically just told it "here's my music, now go play me something" and it all just worked. As far as I'm concerned, it doesn't manage organization at all.
> Navidrome can work with your folder layout, too.
Is that recent? When I was looking to replace libresonic I looked at Navidrome and it couldn't do that, and the developer indicated they didnt have plans to add that feature.
Thats why I choosed Jelly. I do prepare music file a lot, so that is expected, but movies and series I do not and it works great to recognize them 99% of the time.
https://github.com/epoupon/lms is another (Open)Subsonic compatible server that supports directory browsing commands.
But actually few clients use them.
+1 for navidrome.
I’ve had better luck with the play:Sub app (iOS).
I think it’s important that these servers use a common API (subsonic), but it seems like the slickest apps are always targeted to one specific backend (plexamp, finamp, prism music).
I did try Navidrome and used it for a while.. I honestly don't remember why I switched but I suspect the reason was probably more related to the client I was using at the same (Submariner on macOS) than the server-side.
I have both Gonic and MPD on my home server (an old mac mini running debian). It's connected directly via optical to my AVR and MPD can be controlled with the Rigelian app on my iPhone. Gonic is for Amperfy when I want to stream to the Homepod.
On my desk, I used to have a satellite instance of MPD for my desktop setup, but I copied over my library to an external drive and use that as my main instance (rsync to the server when I update it). I rarely play from my laptop (I control the others instead). but could use either the satellite config, a subsonic client, or a quick sshfs mount.
And for offline sessions, I have a DAP with a 512GB card and most of my collection.
Yes, that is what I'm talking about! I had once dreamed of building a service you could ask questions like "what other artists recorded in the same city in the same year as artist xyz" and have it figure it out via the discogs dataset.
+1 to Amperfy, I use it with the Music app on my Nextcloud. The App Store version is a bit barebones last I checked but the Testflight version feels like a completely different app, it’s just like Apple Music but self-hosted. Kind of like Apollo felt like an app Apple would make.
I'm hyped about Amperfy but it doesn't have gapless playback which is a hard must for me. Last time I checked, anyway. Looks like it's been committed recently though: https://github.com/BLeeEZ/amperfy/issues/96
Also it seems transcoding is mp3 only, whereas play:Sub can use (and seems to default to using) OPUS which is better in every conceivable way.
Edit: Trying gapless with the TestFlight - seems to work, however, it doesn't change the displayed track.
OK, I will ask. I presume you purchased all those music files that you host on that certain server, didn’t you? I will also assume that there is no tool that lets you acquire music MP3s (or some appropriate file type which is non-audiophile listenable) the Linux ISO way (without having to hunt them songs one by one), right? I am talking about someone already having a Spotify/apple music playlists/likes/favourites.
Also, these self hosted music services mean — no new music reco/discover, right? Not necessarily a bad thing. I was curious. Never done this.
How is the cost/spec need of this self hosting like? Does it have to be stand alone or it can live with other things like maybe an archiving/bookmarking service and small self hosted utilities like that (of course not all being used at once).
>OK, I will ask. I presume you purchased all those music files that you host on that certain server, didn’t you?
I self-host my music streaming with Plex, and I'll go ahead and admit to you that no -- not all of my music is paid for.
>Also, these self hosted music services mean — no new music reco/discover, right?
I've discovered more music, and more interesting music, through my Plex server in 6 months than I have on Spotify/Apple music in 6+ years. On the site where I get my music, I have downloaded thousands of albums - 75+% of which I have never heard in my life. I did this by downloading albums I liked, and then snatching all related albums on top, and then snatching all the albums collected by people who like the albums I like, and so on. And so I now have a collection of music all relatively close to my taste but FULL of stuff I've never heard in my life.
On top of that, this site also has ways to follow users and has a way to see albums that they enjoy. It has a top 10 board of the most popular albums on the site that day/month/year.
Then, on the Plex side, Plexamp (which I stream with) has many many ways to start "stations". "Time travel radio", Decade radio, Style (genre), Mood ("Ambitious radio", "Cerebral radio", "Passionate radio", etc.) and more such as algo-DJs with specific styles.
It's all much higher quality mechanisms for discovery than payola-weighted streaming algorithms and "curated" playlists.
Roon (proprietary) has great music discovery features like this. They curate a structured database of all the people related to each act, recording, etc. every artist has an info page with lots of links, so you can trace collaborators across projects. They use the same data to power a really good radio and album recommendation features.
The successor to oink was what.cd (most would say), and this site is the successor to what.cd -- it starts with the letters 'Red' and is a synonym for 'erased'.
I love everything about this thread. I can't help but think about the context and what big part it plays here - imagine someone reads this in 1,000 years, they would have to know so many things on so many levels to understand it the way I did.
Self hosted music service doesn't necessarily imply new music discovery problems, because a lot of people still discover music the old non-algorithmic way, by being interested in certain genres, studying labels and artists and going through their albums, adding to their collection what they would love to hear again. Buying and owning the song/album somehow brings me more satisfaction than paying a monthly fee for a song library where I won't even listen to 99% of the tracks. Regarding the cost – it is most certainly magnitudes cheaper than renting music from spotify or apple music, but it is ofc more expensive in terms of attention.
The algorithms have never introduced me to a new song.
They always try to mash up things I've heard before, which is disappointing because I can often go to "similar artists" in Spotify and after drilling down a couple of levels, find new artists.
But Spotify will never suggest it until I listen to a song at least once and even then it will only recommended that one song.
I still do most of my discovery by looking at other bands on a related label, internet radio or, as mentioned, finding a band I like and browsing the similar artists.
What used to work for me was the "recommended" section under a playlist, as well as the discover weekly. I say "used to" because I haven't actually used to those in a long time for unrelated reasons.
The drawbacks to these is that they require time to go through them. AFAIK, the "automatically continue playing" feature doesn't pick from the recommended section, and it's hit and mostly miss. Furthermore, to use that section, you already need to have a manually created playlist.
The main drawback of the "discover weekly" approach is that it's strongly biased towards your recent activity, which in my case is random background music of the lofi type. I don't particularly care about this music as long as it's not distracting, so I don't care to discover anything, the randomly changing playlists by Spotify are enough. I would much rather these were excluded, so Discover Weekly would only consider what I listen to "intentionally". There's an "exclude from your taste profile" entry when right-clicking on a playlist. Never used this, don't know how it behaves.
However, all in all, I've discovered many songs and artists I hadn't known before, and many of those have become staples. So I can say that I'm pleased with at least some of Spotify's discovery mechanisms.
You can sort of achieve that the other way around by starting an incognito session when you put on background music. Haven't worked out how to do that for things with Spotify integrations though.
They have for me, 10 years ago. Seems like the Spotify algorithm figured out that rehashing the same works better for engagement than recommending new stuff
> The algorithms have never introduced me to a new song.
Nearly the same for me, the algorithm has introduced me to a new artist once, ever (and that was the old Google Play service which is no longer available).
Most of the time it creates playlists which are as someone described 'radio curated by the worst version of myself'.
My music discovery is via genre specific radio, a few review magazines, and exploring similar artists via reddit or allmusic.
Maybe it's rose colored glasses, but I recall finding new songs and even occasionally new artists on Pandora maybe 15ish years ago. It does seem like the last time I tried Spotify it was working really hard to make sure it didn't play me anything I hadn't heard before.
Back in the days, there was a service called what.cd, which was really nice for music discovery. You had very dedicated music fans, great forums and a daily top 10 of most downloaded music. For many it was the fastest way of finding new interesting stuff.
I've heard rumors this kind of services still exist, but we never know if it's just an urban legend.
And it's much better now than it used to be. Of course the amount of people in these forums is much smaller, but all of them are very much music nerds. So you get very good tips for what to listen from them.
honestly the best way to discover new artists for me is last fm. i can look who has similar taste and see what they like. Allways wanted to implement this somehow
For some people music is a hobby — looking for new stuff, buying and sorting it is their passion.
The worst thing you could do to me is tell me that I pay $5 a month and the rest of my musical journey is solved and gets decided by a corporate algorithm that pays emerging musicians and niche artists a starving wage.
To me Bandcamp has been the best thing since sliced bread - direct connection with artists/labels, high quality audio (in a dozen formats) and often the chance to buy physical media (I'm a vinyl person).
Not OP, but gonic is very lightweight and takes little resources. It lives on a machine that serves a few websites and also hosts my photos with photoprism (by far the most resource intensive service on this server). It's a basic N100 machine with 8GB RAM.
As for my music, although I own a physical copy of most of it that I bought legally, I downloaded almost everything through bittorrent as is easier than ripping CDs.
A sizable part of my collection consists of things I was unable to buy because it's unavailable here or unavailable at all, though. Some albums I received from friends. I don't feel guilty about it, to be clear.
Yep. Same with Plex. I used to run it with 1.2 GHz dual core Intel Atom. I always encode to 128 kbps Opus when I stream my music and I'm not on Wi-Fi. It took about 300-500ms until the music started when I pressed play. The CPU usage was very low even when actively encoding.
The only thing that takes a bit more of CPU is if you have a huge music collection (I have about 2.5 TB), and you do the first metadata and album art scan over the collection. Otherwise you can run these systems with a potato.
> Otherwise you can run these systems with a potato.
Crikey: This gave me a laugh like none other in a while. For anyone else who doesn't get the reference, you can build a very basic battery from a potato, e.g., https://stemgeneration.org/potato-power/
Now, I would love to see a YouTube video where someone tries to power a portable music player from a battery. Could a PiZero be done?
I have 700 via those tools but then my current Spotify/Apple Music list must be close to 1500 and I shudder at the thought of hunting the rest of 800 down on P2P here and there. So I was wondering is there a way to do it in one shot or few shots as a batch/automated process.
The „starr“ Apps generally allow importing lists to automatically hunt down the items on P2P and upgrade your local versions if better qualities are found. I’m not sure if it directly supports Spotify/Apple Music lists though.
Sadly I have almost stopped using pvt p2p or otherwise. I also never had anything other than a basic ruT setup. I guess it's about things like Radarr etc. I would not know where to begin with them. Will try to use something other user have suggested.
How many TB of photos can you comfortably have in photoprism? I mostly use date-systems, so I could turn off the "ai" if that's resource-intensive.
Can it "stream" previews and then offer full-size downloads? (I'm looking for something that can offer previews + downloads so I can quickly find photos from my home archive when I'm out with my laptop or phone)
Bandcamp has a massive amount of _legal_ free / zero cost / €1 per album music if you spend the time digging. As a hobby DJ I really enjoy the digging aspect!
Please don't be so quick to assume all music is pirated by those with large audio collections.
Buying new tracks like when I was still using iTunes would be nice. Bandcamp comes close but I don't mind the extra step of downloading the zip file and running my script to have it in my music server. Where I also have plenty of digitalized CDs that I own.
Spec-wise, start cheap and upgrade the CPU/RAM when you hit limits. It's not like you'll use all those services at the same time. My home containers all run on a recently purchased HP Mini G2 that I upgraded from a 6100 to a 8-core 6700 and the RAM is an odd 24GB. It even has a rarely used minecraft server. Docker containers are bundled into proxmox instances per user or whatever makes the most sense.
You don't do music discovery by blogs, music journalism, word of mouth, genre databases and so on? You're fully subservient to some algo an ad corp is using?
As for purchasing, many artists give away their works (e.g. "name your price") or don't deserve payment but should be archived and studied anyway (e.g. nazis, billionaires and so on). It's probably not that hard to build a Bandcamp crawler that fetches name-your-price-albums from specific genre tags.
For a few clients and simple browsing you can run an audio cast off a router or cheap SoC.
I have tried every music playing option under the sun for the last 15 years and am now happily back to creating playlists on my computer and periodically dragging them to my phone's local storage. There is still no better overall experience.
Storage costs being what they are now, I'm just syncthing'ing my entire mp3 collection to my phone now. According to syncthing it's 27.9GB, and while I'm sure there are people out there with another factor of magnitude more, a 512GB SD micro card, where the value sweet spot appears to currently reside, is ~$38 now. You can stick a lot of music on your phone now. At 256kb/s or so that's roughly half-a-year straight of music [1]; if you really just can't cut your collection down to that, well, I mean, you can nearly get the full year straight for $90 or so now, and I'm sure 2TB will be along shortly. We're not that many exponential doublings away from you being able to store enough music to last your entire life on your phone.
Assuming your phone still takes an SD card, of course. I get the whole "push into the cloud" thing but SD card prices have been consistently running ahead of cloud storage options and bandwidth plans for a while now; it's kind of amusing that it's the high end phones that lack this option. It's nice to be able to slam music, movies, entire seasons of TV on to my phone without it interfering with the main OS space.
In hindsight it is crazy that tiny iPods from the early-mid 00s had 120-160 GB storage, more than what a flagship $1000 iPhone starts with twenty years later. Yes they used HDDs, but for media consumption it didn't really matter. And then when Apple switched to flash storage we took a massive step back to 1/2/4 GB with outrageous premiums for extra capacity.
I remember reading articles at the time running the numbers on what it would cost to legally fill an OG iPod with mp3s at $0.99 a song or $9.99 an album. My memory is fuzzy but I remember it being something like $15,000 to fill an iPod legally with music from iTunes. Many articles concluded that the device was speced for piracy.
I don’t think the storage size was reduced for technical reasons. I suspect a lot of back and forth with the music industry happened to constrain the device to a “practical” size for legally licensed music.
The music industry is 100% invested in streaming music services, so they don't care if Apple offered high-capacity iPhones cheaply.
Rather, it's Apple who has intentionally been keeping storage capacity low for 2 reasons:
1.) Push users to use iCloud storage, which isn't cheap and purposely doesn't even offer storage tiers that match their phone capacities.
2.) It provides incentive for users to upgrade, especially in an era where keeping an iPhone for 3-5 years has become common and new models offer very little from older ones.
I think my parents owned order magnitude 500 cds. Something like 150mb per album in mp3 format gets you to, what, ~75gig?
I doubt they were outliers? Nobody I know filled their players with itunes bought music, almost everyone was importing from physical back catalogues. I will concede that we did subsequently share our collections somewhat though...
Yeah, I spec'd 256kb/s to be conservative and to head off audiophiles screaming about 128kb/s MP3s at the pass, but 128kb/s is quite common, and turns 512GB into a year straight, 24/7, of music. I feel like that for all but basically a pathological pirate who is not listening to everything they're pirating at that point, this really ought to be enough that most people don't need to "subset" their collection for their phone anymore.
At my personal collection of 30GB, I don't need a server anymore, self-hosted or otherwise. I just put copies of it wherever I want it, and it's part of my backup set.
Sam here. I used to have huge library of MP3 tracks to listen while driving, but as car multimedia systems evolve, now I pull music videos from youtube and enjoy "selfhosted" VH1 (for those who know). Too sad modern VH1 is a shadow of it's past, broadcasting stupid shows instead of great music (please allow me to be a grumpy uncle here).
This approach requires way lot more space (even if I pull videos in 1024x768, which is my car multimedia system resolution). For now it's just a plenty of SD cards, will see how it is going to change.
I’ve been searching for services that host personal music collections, but there doesn’t seem to be much available. I came across a product called Vox [1], which I might try. There are also plenty of self-hosted projects of varying quality (but I hadn’t seen Black Candy before).
I'd like a service where I can upload a large folder of MP3s, and it would help organize them into albums, perform useful processing like ReplayGain normalization, BPM and key analysis, etc. It should also have a good playlist manager and player for desktop and mobile.
Some existing services allow you to add your own music files, like MP3s, but this often feels like a second-class citizen. Services like SoundCloud are focused more on social interactions, which I don’t really need.
Have I missed any services like this?
There's some growing dissatisfaction around algorithm-driven music services like Spotify. Also, these services carry the risk of music disappearing for various reasons. I think a service allowing curation of own MP3 collections could appeal a significant fraction of all music lovers out there.
1. Self-hosted web server with local file system access to your media.
2. One HTML page that I will generate for you. This page will contain a media player and a play list of your media files.
With this approach the solution is ridiculously simple, but you are at the mercy of the client device web browser for media codec/container support. For audio this is not so restricting but for video this is really restricting.
There are three examples in the repo. Look for the html files in the lib directory.
They won’t actually play media for you because I don’t include media files in the repo but you can get a very real sense of a long playlist and the usability of the media player controls and full playlist interaction.
Maybe I will work on better documentation in the future but I only wrote this to play files on my phone around the house.
Navidrome has worked well for me for the last couple years. My collection (~80 GB) is pre-organized FLAC but Navidrome will transcode to MP3 if needed. I use Substreamer on Android to connect to it (Airsonic API/protocol) or the WebUI at home or work.
Just the right balance of simplicity and features for me.
if not for the work requirement, at 80gb you could likely do what I do: use syncthing to make there be a full copy of the files on your phone. I've got a media terminal, my laptop, and my phone each keeping each other up to date. it's never broken or been frustrating. it works offline perfectly.
> Navidrome does not support browsing by folders, but simulates it based on the tags with a structure like: /AlbumArtist/Album/01-Song.ext
I don't think I have seen this tag simulation when I tried it around 2 years ago. But in any case, is this good enough? And does it recognize artists and songs from MusicBrainz like Jelly does flowlessly?
I don't know what you mean by "recognizing songs from musicbrainz", I've never used jellyfin to be able to compare. In my case, all files are tagged outside Navidrome.
All my players allow browsing by either Album Artist, Artist or Album. My folder layout follows this principle, so I'm happy with that.
But I can imagine layouts which don't adhere to this (classical music comes to mind), in which case I can see how not being able to get to the folders can be annoying.
Recognizing from MB is this: you have title1.mp3 and you can use MB fingerprint to detect song/album. Or song simply has subset of tags and MB fills up the rest, along with the links to MB details of artist/album where you can get tiny little details.
Discogs is a bit better in that, but its proprietary, so no.
I am more proficient with folders and have the number of tools to do so. Any GUI that streaming servers present is very unusable for me, I use it only for major happy case. Anything more advanced, I drop to the file system.
For Musicbrainz I use beets to import/organise the songs into my library directory structure.
For stuff not on mb I use fb2k as it has a fairly decent tagger and move it to the local external drive, which is synced to the server.
At home I usually just use fb2k to play to my sound system via an interface, and on the go I use play:Sub connected to the navidrome instance transcoded to 160k OPUS (initially over tailscale but now via portforward/cloudflare and soon cloudflare tunnel)
I use FB2k with picard and MB. If its not in the MB, I add it myself. With bookmarklests and picard this is very fast process.
Beets is too much work. I don't always have shell around nor I want to remote for this. This thing I use works on whatever machine I am currently.
I use jelly for convenience to connect to my media server when I am not at home. At home, I always use foobar2k which simply rocks for precise search and randomly generated lists (I even use SQL for this, via plugin). Its playing capabilities are far from any jelly like streaming server. Jelly is very bad at non-typical case, you can't even share a link to the current playlist and if left alone, after a day or two I have to reload jelly home page and go from there again, as anything that was left in the browser for a couple of days stops working until I reload from home.
I used to add stuff to MB but it's a bit involved as a process and honestly I'm too lazy a lot of the time. Picard is fine as a GUI tagger but I like foo.
If I can't pick what to listen to I quite like radiooooo, Radio Paradise, Radio Meuh, etc.
I use iBroadcast[0], it's a service dedicated exactly for this. Costs me a bit each year but I've felt it worth it. There's some differences to organising in iTunes like the handling of compilation albums that I'm not so fond of but you can see how it works on the free tier.
The browser client only does 128 kbps streaming but their mobile client can set the streaming quality (I have it at 256, max is 320) and I'm working on my own PWA client using their API that I've also set to 256, which would work on both mobile and desktop.
You can also set the browser client to stream the original file directly but browsers don't play most of my formats like ALAC so it just doesn't play anything then.
From the "outside" this looks like such a strange product. The landing page is very obscure and, together with the name of the service, I would automatically think this is a super old school product (being generous) or some sort of weird scam (being overly critical). There are no docs or pictures or any further description of what the product looks like, I guess the authors expect people to sign up to see (it is free! :-).
Other than that, I wonder how they address their costs [0]. It seems free accounts have unlimited uploads. Anyway, I guess I'll have to give this a try to learn more about it.
EDIT: I found some pics by clicking in their facebook page, which in turn links to a news page [1] (...).
EDIT: This product is fascinating. Seems like they've been around for 12 years, have a bunch of loyal users, and support their product (?) via reddit (at minimal approve of the reddit channel since they link to it themselves!). I wish we could know more about the team behind it. Related: [2].
Most self-hosted services metadata is only as good as the metadata on your audio files. I think using something like MusicBrainz Picard or beets to tag your media well is required, along with making sure that all files of a given album are in the same folder. (Plex has what seems like strict file naming conventions for music, but really all you need to do is make sure each album has all its files in one folder).
If you're interested in something more automated than having to use a program to tag your media, then I'm not sure what a good option is. Most people that don't use streaming services and have a digital music collection are tech-savy and don't mind going through the extra effort of tagging the media.
So here is my question, or one of them, as someone starting this whole journey: exactly what metadata do you want outside of artist, song title, album title? Because I can see there's a lot to be had. Embedded album covers, subgenre tagging, synchronized lyrics ... hyperlinks to Discogs and MusicBrainz, maybe? Tempo in BPM? Key?
ID3v2.3 or IDv2.4? Can you even do that to FLAC? And where do you get that metadata, using what tools?
I just don't want to be the guy who has to re-rip three thousand CDs because he did his workflow in a lazy or careless manner.
The cool thing about MusicBrainz Picard is that it puts not only an ISRC metadata tag on each file, but also a UUID for the MusicBrainz recording and for the MusicBrainz album id.
The idea here is that if you use something like MusicBrainz, you can actually retag all of your files in bulk if necessary because MusicBrainz Picard knows exactly what release each file belongs to. You can then configure MusicBrainz Picard to tag your files to your liking. It's a really great piece of software.
If you are tagging files manually, I think an ISRC tag is the bare minimum because it can allowed automations like MusicBrainz Picard to easily identify what each file is.
As for what version of ID3 or ID2, I'm not sure. It might depend on the software you use to play the audio files. The reason I personally use MusicBrainz Picard is because its MusicBrainz specific metadata is read directly by Plex, so even if the other metadata on the file is bad for some reason, Plex will match the MusicBrainz tagging with the correct release. I mean, Plex uses MusicBrainz internally for its metadata, so it's a safe bet for my purposes.
> ID3v2.3 or IDv2.4? Can you even do that to FLAC? And where do you get that metadata, using what tools?
I rip my CDs to Ogg Vorbis, so the ID3 question is moot. Yes, FLAC supports plenty of metadata. I use beets[1] for tagging, which uses MusicBrainz as the source of truth.
> exactly what metadata do you want outside of artist, song title, album title?
Album Artist, and sort-orders for albums/artists what I like the most (but not all players use those), then yes album covers are useful. I don't really care about subgeneres, but there is a plugin for beets that will fetch those from last.fm
Besides artist, title, and album, I also make sure to include release year and genre (and I'm not really particular about genre definitions - about 90% of my music falls under "rock," "pop," "jazz," or "soundtrack"). I add album art, too.
I started digitizing my collection 15 years ago, ripping from CDs and cassettes, and have never regretted not adding any more metadata.
I’ve been wanting the same thing for a while now too. I’ve thought about trying to build it myself but the thought of requiring users to manage their own library seems too niche. A hosted, music-focused Plex competitor sounds awesome but also not sustainable. Surely the majority of those users who care about managing their music library are also happier owning their storage too, no?
Storage is tricky... I know how to self-host software and get storage but I find it too much of a hassle to do it for me only, so I just have a folder in a google drive, which I need to migrate from soonish.
Why do you think a Plex competitor would not be sustainable?
Huge shout out to astiga which I've used for a year and a half. It'll run a streaming service for you out of cloud storage (eg s3, but also stuff like dropbox or google drive).
I'd love to self host but have a toddler and not much time, so astiga is a great "take my money and do it for me" kind of service!
Large microsd cards are very cheap these days. Using all this cloud stuff seems like a waste of multiple resources. And if you ever don't have a good connection then it's worthless. I've given stuff like this a try and only found it worth it on internal networks.
How reliable are they? I've had a couple of cards that I was playing music off mysteriously wipe themselves over the past year so I've subconsciously labelled SD cards as unsafe for long term storage.
Is this common or was I just unlucky?
> if you ever don't have a good connection then it's worthless
Here in Vietnam, internet is more stable even than electricity. We can be in the middle of a typhoon, trees and roofs being destroyed, no power for several days, and mobile data never even drops in speed.
A lot of talk here about different solutions. I wonder if there's a universal interoperable standard for self hosted music streaming these days? I'm still using the old Logitech Media Server (with some physical Squeezeboxen), but something a bit more featureful would be great. Especially with good indexing and search. And if it could interoperate so I could choose different clients and server, and wouldn't be tied to that software.
OpenSubsonic (https://opensubsonic.netlify.app) is the closest. It's a collaborative effort to extend and modernize the Subsonic API, which had become a sort of de-facto standard API. Navidrome, Gonic, LMS (Lightweight Music Server, not Lyrion/Logitech), and other servers implement the API, and Supersonic, Symfonium, and other clients consume it. (And it's backward compatible with the original Subsonic, so older Subsonic clients will work, just not support all the new features that have been added.
+100 for Lyrion. I have been running it for over 20 years from back in the slimserver days. I also was a huge iPeng app fan until I installed the newer "Material Skin" plugin. If you have not used it yet, I highly recommend you check it out. I use the HTML5 interface full time over the iPeng app on my mobile for controlling the house/music selection. Also the "AirPlay Bridge" and "Chromecast bridge" plugins allow me to use my homepod devices/AppleTV's and Google Nest Hub devices as speakers which expanded my audio experience. There is also a host of ESP32 dac+amp devices and raspberry pi devices that you can use a players, its endless!
Not so much a planned standard, but Airsonic is about the closest thing. Many servers, clients, and third party tools are airsonic compatible. Navidrome, the current server I'm using is compatible for instance.
If you’re willing to pay for proprietary software, I’ve been incredibly happy with Roon for music organization. Handles 99% of albums I add without an issue, great multi-room support, best suggestions of any existing service (Rest in peace Google Play Music). They added remote streaming a few years ago and it’s all I use now.
That's some serious price. If you're a professional music maker and need top-of-the-line audio production software, Ableton 12 Suite is ~600 EUR, and that's for making music, not consuming.
I have friends that use Roon and say it's great, and has some nice features for room-based EQ, however I want to spend £0/mo standing cost (all extra goes to bandcamp).
You can control the playback via a phone if you need to play music through a Linux system though.
Music playback via a PC isn’t really what Roon seems to be going for though, so much as allowing you to control music playback through proper audio systems via a PC or other device.
I guess this is the time I ask the question I ask whenever a new self-hosted media streaming server gets posted...does anybody know of any similar server for demoscene tracker files and/or retroconsole music format (bit tunes) hosting, transcoding and serving the stream?
chip-player-js [1][2] has more or less exactly what I'm looking for, and I'd be perfectly happy with it, but I can't seem to get any of the docker containers I find to build properly or the repo to build due to dependency issues (probably ignorance on my part) [3][4].
I have had Jellyfin running as a media server on an i7 gen4 PC that I have setup as a NAS as well. I first tried subsonic client and Nextcloud but I was only running it on an Odroid H2. I think the extra CPU performance helps.
I've started using Navidrome with Symfonium a few months ago. Navidrome is pretty good, but I'm very impressed with Symfonium. It's simple, responsive, and straightforward, but it's got a ton of options so you can fine-tune the client quite a bit.
Thanks for a tip to try out Symfonium. Seems to work great with Plex and Navidrome. I have a few issues with Plex for music, especially when it wants to convert DSF files into flac, which is fine but unnecessary. Plexamp on Android also sometimes fails to download full albums for offline playback.
Jellyfin I've tried a few times, but it still cannot encode and stream music as opus, which I find the best format when using low bitrates. Navidrome and Plex support opus by default.
Longtime Navidrome user so that's what I'm comparing this to.
This project looks cool, albeit simple at this point, but what I'd really love is a solution for music discovery for folks who self host their collection.
Is there something that sets this project apart from other easily self hostable tools?
Hey @hebocon I've been using jellyfin for both music and movies for close to a year...but keep hearing of navidrome (for music) as well. So, can i assume that you don't really use jellyfin for music, and instead use navidrome for that? How does that work for you? Any issues of interference, etc? I guess if i wanted jellyfin only for movies/tv, i could point it only at the folder where such media is saved, and then separately manage music via navidrome...but wondered what the benefits would be? Genuinely curious if you woiuld kindly share more info about your setup. Thanks! :-)
I set up JF for music first, then added Navidrome. I then added Moode for my separate stereo speakers and Home Assistant too. Never had an issue with everything having access at the same time.
Seems the theme going into the new year might just be self hosting things... This and this https://github.com/siyuan-note/siyuan are both on the front page of HN
I agree! I just don’t know if this would pass the wife test. All of our music and photos and videos tc etc being hosted by me where I could potentially lose everything.
All the work needed to properly store enough backups and test upgrades and maintain things I just figure the tens of dollars I spend monthly to host this stuff for me in iCloud and other places is worth it.
Ahh check out JupiterBroadcasting’s flagship shows: CoderRadio, LinuxUnplugged and Self Hosted. Really cool community to folks.
Totally get you with the wife approval factor. More for me it’s I think I might screw something up and nuke the whole thing. I do light admin work for my day job as a data engineer — to have to do it at an even higher intensity for the family is too much stress.
Hmm..
I have a different use case.
There are 7 years of a radio show with daily recordings of about 2-3 hours in length, including images. About 400GB in size.
It used to all be hosted on a heavily ad plastered Drupal site, but I took it down a few years ago, because reasons.
I would like to make the archive available to the public, it would be such a waste to delete it. When I write available, I mean via a website. This blackcandy seems to be private only, requiring auth.
I would also prefer if the shows were streamed not directly downloaded, to keep bandwidth down, if you know what I mean.
I run multiple minidlna instances in Podman and let BubbleUPNP connect to them through Wireguard. Getting the multicast discovery to work was a bit challenging.
This is by far the nicest solution out there. All the others, plex, etc are resource hogs that want to transcode everything, unlike minidlna, which can run on a router, if needed, without docker, or all that jazz.
People might not like it because bubbleupnp is not open source, but it's a very nice piece of software nonetheless.
Does this support the OpenSubsonic API[1]? I didnt see it mentioned. I miss subsonic (except that it was java). All of the current servers have quirks i havent enjoyed, but having the subsonic mobileapp all through them has been great.
What's the benefit in using a "self hosted streaming server", when I can just mount a network share and connect to a personal VPN when I'm out and about? This is what I've been doing for awhile and I've had zero issues. As far as I can tell it's secure.
Is it just to allow others to use the server with login credentials?
The UI looks nice but it doesn't look like there's CarPlay support unfortunately.
I don't use my car that often but when I do I want to be able to access my music library. Right now I'm stuck with Plex and Prism on iOS because other solutions are not good in that regard as far as I've seen in my testing.
I want to separate out music into groups, then into shuffleable playlists. I would eventually stream each to one of those local FM transmitters so I could build a few radio stations for my mother, who is absolutely terrible with technology and, at eighty, is not likely to get better. I am figuring a late Fifties/early Sixties (stuff she won dance competitions to), then your basic angry music starting around the mid-eighties (Killing Joke's "Eighties," a few Ministry albums, NIN) and on, a classic rock "station," and now, disturbingly, a yacht rock playlist. Then she can just jump around as needed.
I'd love to find something that works effectively at randomly streaming my music video collection, esp out as an rtsp stream. Kodi's music video support has a tendency to choke and has some weird deficiencies in how it handles them, such as audio leveling.
Not op but I’ve been running jellyfin for a few years. At least 2 years ago when I tried it for my music it felt clunky . I haven’t checked since but I encourage you to feel out the experience with a few albums, playlists, carplay, &c before going all in.
Fwiw I ended up using Navidrome m as a server, beets to manage metadata, and play:sub on mobile.
I think that's still pretty modern. My stream setup uses liquidsoap to generate HLS files which are served as a livestream directly from Tigris/S3. But a lot of users of liquidsoap still use the icecast output I think.
People who use this or something similar (Jellyfin, Navidrome, etc.), what do you use to easily add new music?
Ideally I'd like to automate this to the point where I can look up an album and it gets downloaded automatically, similar to how Overseerr[1] works for movies and series but without the dependency on Plex.
You have Lidarr[1] as an equivalent to Sonarr/Radarr etc. and there is a pending PR[2] for adding Lidarr support to Overseerr which also has a custom docker image to try.
I use Funkwhale, which exposes a nice web UI for uploading new music. Saves me the hassle of manually adding music files to a server, and it also allows for a multi-user setup where users can keep some music to themselves.
I use mpd and ncmpcpp but arguably I don't need much in terms of features, I just play all the things on shuffle.
No point in using my phone as when I'm on the LAN, I don't need it, and when I'm out of it, it's counter productive to connect to it (because Canada still has third world mobile data rates) and better off replicating the entire library on-device.
A quick search on planhub.ca for 60GB with BYOD and unlimited calls in Canada is $35. That's 8x your cost, and that's the minimum, with obscure telcos that piggyback on others' networks, so quality is not great. The Big 3 are more around $45-50.
It's often cheaper to buy an European eSIM and roam, it's laughable and has been stifling innovation for decades. But hey, someone's getting rich.
Lyrion should get a mention. It's a brand fork of Logitech Media Server, aka squeezeboxserver aka slimserver.
It has multi-room, quite broad hardware support and support for Spotify, Chromecast, etc through plugins. There are also a few DIY devices you can run squeezelite on to add cheap, good players.
I've been using TrueNAS for six years already. I've built a custom server
- Intel dual core Atom CPU
- Passive cooling for the CPU, two fans for the HDDs
- A small Supermicro motherboard with IPMI and six SATA connectors
- 16 gigabytes of ECC RAM
- Six 14 terabyte hard disks
- Fractal Design Node case
- ZFS with RAIDz2
But this setup is getting old, I've had a few errors already from the CPU. My plan next year is to build a rack server with a modern AMD Ryzen CPU, 64 GB of RAM, Proxmox with TrueNAS scale in a virtual machine and re-use the disks I have in the current setup.
Proxmox is much nicer for virtual machines and LXC, and if you need Docker, you can run them in the TrueNAS Scale VM.
Hardware wise I bought a TerraMaster F4-423 used last year for about 300€. It's a great device.
Software wise, I use Fedora Server, although if I had to reinstall now I would use AlmaLinux because I don't need the new stuff coming with Fedora Server on my NAS.
I've been looking for a music server to stream music from my local NAS to our Alexa Echo speakers. Tried Plex, and I can't get it and Alexa to play nice. Are any of these able to integrate with Alexa speakers????
Perfect! I was looking for a way to replace YouTube music. I’ve been slowly migrating away from YouTube, while maintaining the ability to watch my favorite content creators. I use pinch flat, Jellyfin and audiobookshelf.
I don't see any mention of UPnP. Is anyone using a set up where they have some kind of headless device plugged in to a hi-fi amp and just want to control it from their phone without switching on another screen?
The combination of OwnTone running on your server and a Wiim Mini (or any of the other Wiim products) is great for this:
OwnTone is a media server that lets you play audio sources such as local files, Spotify, pipe input or internet radio to AirPlay 1 and 2 receivers, Chromecast receivers, Roku Soundbridge, a browser or the server’s own sound system. Or you can listen to your music via any client that supports mp3 streaming.
You control the server via a web interface, Apple Remote, an Android remote (e.g. Retune), an MPD client, json API or DACP.
OwnTone also serves local files via the Digital Audio Access Protocol (DAAP) to iTunes (Windows), Apple Music (macOS) and Rhythmbox (Linux), and via the Roku Server Protocol (RSP) to Roku devices.
Raspberry Pi Zero 2W running Moode Audio. It's perfect. I have an old iPad running a kiosk-like browser to control but the norm is via web UI remotely.
It is really only a thing because smartphone OS vendor make it difficult for people to mount filesystem over the network.
If you could ssh/sftp mount from android or iOS easily, your favorite smartphone audio player would just play those files from a remount mount without any need of a streaming server.
I'm probably missing something. Why self-host when for $10/mo. you can access a nearly unlimited catalog of music on Spotify with integration on phone, PC, car, Sonos, etc?
You forgot disappearing music. Add a song to a playlist, switch countries (or who knows what), it becomes greyed out, or perhaps simply removed. Annoying.
Their tendency to add random music to my playlists is annoying. I think there's some control over it, but I'm too old to follow up on how it works this week.
I'm on the most expensive family plan they have, but would pay more to get those two fixed properly.
I do still buy music on albums and digitally, mostly as a backup exactly for the reasons you mention. But I can't afford to do that for everything I listen to.
Regarding your second paragraph talking about Spotify adding random songs... It's a feature I absolutely hate, but I believe what you might be referring to are "smart suggestions" and/or the "smart shuffle" features. They annoy the hell out of me but can be disabled.
For smart suggestions, I haven't seen them in a while, but there was a toggle for it.
For smart shuffle, just hit the shuffle button again to turn it off.
To add to this - as someone who is traveling a lot, multiple issues with it saying "Ohh you can't play in this country so I will just stop working" are annoying to say the least.
Yeah crazy when you offline music on Apple Music and then you have no internet and it won’t play them because it needs internet to (I guess?) check the license still. Absolute joke.
-to directly support artists with buying the albums or songs at full price, rather than letting Spotify barely pay artists anything for their music (especially independent ones without industry connections)
-knowing you own your library and that once you’ve purchased media, there is nothing to take it away other than the sands of time taking back its silicate
-one does not need unlimited access to songs they will never hear, especially when natural discoverability on Spotify is so so versus trawling through sites like Bandcamp, Earmilk, RCRDLBL (I know it doesn’t exist anymore), or other places where new artists show their work in a way that Spotify doesn’t provide
> to directly support artists with buying the albums or songs at full price, rather than letting Spotify barely pay artists anything for their music (especially independent ones without industry connections)
You can't post an open source project on this site without half the thread speculating that you're a grifting sociopath. <1% are going to pay for music on here.
I am curious, with the way you are using “<1% are going to pay for music on here”, is that to be read as “no more than 1% are going to pay for music on here” or that “less than 1% are going to pay for music on here”?
Is your point that people aren’t willing to pay for things if they have a choice not to?
Or is it that independent artists should be grateful that people see their work at all and that “most” people will just think they are a grifting sociopath?
Not sure what your issue with my comment is, but I’m interested in what you meant, as I feel I’m missing context that only you have at the moment.
I didn't really have issue with your comment, more a frustrated comment with who might be reading it. Apologies.
The context is people on this site regularly treat open source authors with complete hostility despite what they give us (even going so far as to call them sociopaths). Sometimes this same crowd justifies this rudeness based on protecting open source "purity."
It's not uncommon for them to upvote posts like this that take a shot at Spotify or promote piracy as an easy feel good moral high, even though they themselves treat artists/authors worse. Doesn't take away from the substance of your comment.
It's renting vs. owning. I care a lot about music, so I don't like paying monthly for it without even getting to build a real collection.
Also, it's just nice to not be at the whims of corporations and copyright lawyers. It sucks when some song you love gets taken down, or your streaming app introduces some shitty UI changes, or you find out the company you're paying has been doing unethical shit, or the monthly fee goes up, or any number of other annoyances.
Apart from many reasons mentioned by others, I find the "nearly unlimited" catalog to be very overrated. Every time someone asks me to queue a song, it's on Spotify maybe 50% of the time - as soon as you start delving into dance/single-oriented genres of the past, streaming services just won't cut it.
For the record (heh) I also have an extensive vinyl/tape/CD collection in addition to a few TB of pirated FLACs.
I didn’t see synology or qnap mentioned here. They are probably the easiest way to self host and stream the músic, even if they are simpler, but for me worked well.
Finamp app for Jellyfin can auto-download favourites/playlists/5 latest albums, transcoded by the server. It also mentions being able to lock albums to keep them available offline. Unsure if it syncs without opening the app though.
While there’s a lot of piracy, there’s also a lot of people buying music. Not everyone runs the *arr stuff, I buy several albums every month on bandcamp.
Why would I do this over a Synology DiskStation which allows me a hassle-free way to stream my music anywhere I have a internet connection... I use it daily in my car without a problem, going on my 3rd DSM and ~10 years of this setup.
For me, the reason is that Synology is not open source, and additionally because their NASes are overpriced for their size and capabilities. I have a 12 disk NAS that cost me a total of $500 (before drives), with no software licensing fees at all, and that's not even an especially cheap one. My earlier NAS was slower but only $120. Of course, it needs a deep 19" rack to mount, but that's actually an advantage for me, as I have a dedicated homelab rack to play with.
Dedicated NAS hardware is often pretty efficient. The Synology DS224+ (a 2-bay model) for example claims to idle at 4.41W when the drives are allowed to hibernate. That's within spitting distance of a Raspberry Pi, and a lot better than most people will be able to achieve with repurposed desktop/server hardware. Lots of desktops will idle at tens of watts.
If you keep your spinning rust drives spun up all the time, it's another 5ish watts per drive.
Jellyfin has been amazing for physical media backups. It’s nice to experience old VHSes and DVDs in a user friendly way.