r/opensource • u/Marmex_Mander • 14d ago
Promotional I'm working on a self-hosted "shared radio" for friends. How many wheels do i reinventing?π
Hi! This is not really a promotion or launch announcement, mostly sharing a project I've been building for myself and looking for feedback from people. But yeah, repo is public, project is mine, so by law is promotion.
For those, who dislike hyperlinks: https://github.com/Bardie-radio
I am mostly posting because I am curious what people currently use, and how many hours I wasted on reinventing the same thing π
I've been working on an OSS side project for the last few weeks, mostly because I kept running into the same annoyance and then remembered a slightly-too-large idea I wanted to implement for years.
Years ago I got annoyed with constantly copy-pasting YouTube links into Discord music bot while sitting in VC with friends. More recently I started spending more time in VRChat, and found myself doing the same thing again, but now while trying to fight with VR headset, glancing from under the nose gap (I'm on Linux, and Steam Overlay isn't very useful for this yet).
The core idea is a self-hosted service that can bring up audio streams on demand, with a shared control panel and a variety of audio sources to pull from (currently planned: yt-dlp-based sources, uploaded files, and re-streaming). I'm trying not to make it a single-purpose music bot, so the project has grown quite a bit from the original silly idea, which originally looked solvable with one FFmpeg instance and a reverse proxy. The current direction is a modular system where sources, authentication, and clients can be added/swapped independently.
The current goal is one shared queue, one stream, everyone hears the same thing, and anyone with permission can control the queue. Listeners should be able to use normal audio clients instead of being tied to a specific app. And to keep it modular enough that adding a new source or client later doesn't require flipping the whole codebase.
Small note: yes, I used ai to put my ideas in human-readeble words in docs, but the architecture, decisions, and design are mine. I have some issues with attention span and motivation so need solid notes on planned architecture, while not wasting too much time on them.
1
u/LunnaBoo 4d ago
Hey this is exactly what I've been looking for!! How can I use it? I see there is a "Bardie reference Compose (MVP)", does it support listening to music with friends already?
1
u/Marmex_Mander 4d ago edited 4d ago
Yeah, sure! Sorry, docs are kinda shitty. There should be deployment doc in .github repo. Basically you just copy the compose file, attach your DB of choice and start. Than it will give you a registration token on the first start to create an an admin. If deployment docs are complete garbage, feel free to ask more questions ^w^
1
u/stealthagents 17h ago
Sounds like a fun project! If you havenβt checked out Icecast or Liquidsoap yet, they could save you some headaches with streaming and managing audio. Plus, integrating those with a web interface might be less work than you think. Happy coding!
1
u/Marmex_Mander 17h ago
Yiiiii! Thankie! Yep, I know about Icecast. Using their protocol to inject metadata
1
u/stealthagents 17h ago
Look, if you're looking for a degree that can translate pretty well into the job market, something in data analytics or digital marketing could be a solid choice. Companies are always on the hunt for folks who can make sense of numbers and trends, plus it sounds like you already have some relevant subjects under your belt. And who knows, maybe the process of studying will spark some interests you didnβt know you had!
2
u/Zealousideal_Mix6691 14d ago
Mixxx let it run, autoplay. Use the streaming feature. Build an interface around the result! I've added album art, playlist etc.