RetroFed Forum
Your home away from modern life.
Personal radio station
Post Reply
AuthorMessage
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
Quote

Apologies if this has been asked before however after some searching I've found several posts / articles here in Lemmy (plus generally around via web searches). Some of the posts are dated however so want to see what the most 'up to date' suggestions are.

I have spare hardware so this is more a software query.

I want to run my own private radio station where I can listen to my music while on the move and at work. Nothing special and it doesnt need bells and whistles however at minimum :

  1. able to listen via web browser (android app would be a bonus but not required)
  2. able to lock it down so only people with the password can listen (me and other half in UK and brother in Australia)
  3. ) a generic login so people without the password do not know what it is or what its for
  4. option to set playlists and / or random via genre over specific time periods

Thanks in advance.

60   Original
rastacalavera lemmy.world rastacalavera@lemmy.world
Joined: 2023-06-22
#2 · Quote Reply

Azuracast on its head is over kill but will work and give you a nice webgui. If you run behind a vpn like Tailscale, nebula,etc just add the other person to it and no password is needed because your stream and service isn’t publicly available. Get your radio stream url and put it in VLC on mobile or use the web.

6
Matt The Horwood lemmy.horwood.cloud mhzawadi@lemmy.horwood.cloud
Joined: 2023-07-27
#3 · Quote Reply

Have you looked at some like jellyfin?

5
Luffy lemmy.ml Luffy879@lemmy.ml
Joined: 2023-11-05
#4 · Quote Reply

where I can listen to my music while on the move and at work.

You copy the files on your mp3 player and hit shuffle. Vlc has this feature for android.

The reason radio exists is so you can hear curated music without buying it first. With a self hosted solution you get none of the pros with all of the responsibilities you get.

8
BillionaireStew lemmy.world BillionaireStew@lemmy.world
Joined: 2024-02-19
#5 · Quote Reply

https://en.wikipedia.org/wiki/Icecast

8
James R Kirk startrek.website Kirk@startrek.website
Joined: 2025-03-01
#6 · Quote Reply

Have you looked at some like jellyfin?

Plex has Plexamp which is pretty seamless, I'm sure Jellyfin has something similar. There is also Music Assistant HA app.

4
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
#7 · Quote Reply

where I can listen to my music while on the move and at work. You copy the files on your mp3 player and hit shuffle. Vlc has this feature for android. The reason radio exists is so you can hear curated music without buying it first. With a self hosted solution you get none of the pros with all of the responsibilities you get.

Valid answer and I can see where you are coming from however this does not cover item two in my list (other family members)

4
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
#8 · Quote Reply

https://en.wikipedia.org/wiki/Icecast

Thank you. Will have a look

4
gedaliyah lemmy.world gedaliyah@lemmy.world
Joined: 2023-06-15
#9 · Quote Reply

I use navidrome. You could set it up with individual accounts and use any Subsonic compatible player. I'm not sure what you mean by specific time periods, so I'm not sure about that.

It has a very serviceable web app, and lots of front end clients. I like Tempus on Android, and Strawberry on PC.

I've found that navidrome is just more stable and usable than other server apps. Yes, you could do it through Home Assistant or Jellyfin or NextCloud, but those apps are not purpose-built for music. Just my 2 cents.

29
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
#10 · Quote Reply

Plex has Plexamp which is pretty seamless, I'm sure Jellyfin has something similar. There is also Music Assistant HA app.

Thank you both. Will have a look at both Suggestions in more detail.

2
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
#11 · Quote Reply

Azuracast on its head is over kill but will work and give you a nice webgui. If you run behind a vpn like Tailscale, nebula,etc just add the other person to it and no password is needed because your stream and service isn’t publicly available. Get your radio stream url and put it in VLC on mobile or use the web.

Thankyou. Will have a look and a play. Overkill isn't a bad thing for future proofing.

2
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
#12 · Quote Reply

I use navidrome. You could set it up with individual accounts and use any Subsonic compatible player. I'm not sure what you mean by specific time periods, so I'm not sure about that. It has a very serviceable web app, and lots of front end clients. I like Tempus on Android, and Strawberry on PC. I've found that navidrome is just more stable and usable than other server apps. Yes, you could do i...

Love a two cents and thanks. Will have a look and cheers for the multiple links, very helpful.

5
Lyricism6055 lemmy.world Lyricism6055@lemmy.world
Joined: 2023-07-21
#13 · Quote Reply

Navidrome, roon, or jellyfin maybe?

5
Shimitar downonthestreet.eu Shimitar@downonthestreet.eu
Joined: 2025-01-28
#14 · Quote Reply

Try subwave. You can have AI djs choose music from your navidrone library based on shows you create by defining prompts, moods and styles.

Pretty neat...

Fast developing and pretty solid already.

4
SuspiciousCarrot78 aussie.zone SuspiciousCarrot78@aussie.zone
Joined: 2026-05-14
#15 · (edited) Quote Reply

[deleted]
3
i_stole_ur_taco lemmy.ca i_stole_ur_taco@lemmy.ca
Joined: 2023-06-13
#16 · Quote Reply

https://en.wikipedia.org/wiki/Icecast

I set this up before but ended up walking away. It works well but it always eats CPU generating the stream, which is a bummer if I’m the only user and not necessarily even going to use it once a day.

2
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
#17 · Quote Reply

[deleted]

Will have a look. Thanks.

1
neidu4 piefed.social neidu4@piefed.social
Joined: 2026-09-10
#18 · (edited) Quote Reply

Sounds like something shoutcast can do.

Remember the time before apple acted as if they invented audio streaming and built a walled garden of podcasts? We had shoutcasts long before podcasts.

9
uKale lemmy.world uKale@lemmy.world
Joined: 2025-05-30
#19 · Quote Reply

I used to just run icecast and mpd. Not sure how you could password protect that, though.

5
katy ✨ piefed.blahaj.zone cupcakezealot@piefed.blahaj.zone
Joined: 2025-06-06
#20 · Quote Reply

I used to just run icecast and mpd. Not sure how you could password protect that, though.

just run it on a device in your tailscale network

5
BCsven lemmy.ca BCsven@lemmy.ca
Joined: 2023-06-17
#21 · Quote Reply

Sounds like something shoutcast can do. Remember the time before apple acted as if they invented audio streaming and built a walled garden of podcasts? We had shoutcasts long before podcasts.

Yeah when people say they can't get a podcast because its not on the apple served list. umm RSS exists and did before apple brainwashed people.

6
cideyav138 lemmy.ml cideyav138@lemmy.ml
Joined: 2026-02-02
#22 · (edited) Quote Reply

Thankyou. Will have a look and a play. Overkill isn't a bad thing for future proofing.

Just a heads up, their example Docker compose comes with a support for 50 radio stations (with 50+ ports mapped), and it isn't meant to sit behind a reverse proxy. Below is a simplified Docker compose that I made to run a single radio station.

services:
  azuracast:
    image: ghcr.io/azuracast/azuracast:latest
    container_name: azuracast
    restart: unless-stopped
    environment:
      AZURACAST_VERSION: latest
      AZURACAST_HTTP_PORT: "80"
      AZURACAST_SFTP_PORT: "2022"
      AZURACAST_STATION_PORTS: "8000,8005,8006"
      AUTO_ASSIGN_PORT_MIN: "8000"
      AUTO_ASSIGN_PORT_MAX: "8006"
      MYSQL_RANDOM_ROOT_PASSWORD: 1
    ports:
      - "4580:80"
      - "4522:2022"
    volumes:
      - /dir-for-db:/var/lib/mysql
      - /dir-for-stations:/var/azuracast/stations
      - /dir-for-storage:/var/azuracast/storage
      - /dir-for-music:/var/azuracast/music
    ulimits:
      nofile:
        soft: 65536
        hard: 65536
    logging:
      driver: json-file
      options:
        max-size: 1m
        max-file: "5"

My nginx routes traffic to port 4580 using the subdomain I assigned for my station, and LetsEncrypt handles SSL. I use SWAG to manage all of that.

I can't remember why, but AZURACAST_STATION_PORTS: "8000,8005,8006" is in fact required for a single station. The Azuracast admin portal has an option to consolidate the public player and admin portal behind a single domain, so radio.example.com hits the public player and radio.example.com/login hits the admin login.

It's nowhere near the level of pain you have to go through to run Matrix with chat bridges on Docker, but getting all of that right and simplified was more work than I wanted it to be. Hope this helps!

EDIT: Got carried away sharing my setup and ignored the login requirement for the player. SWAG supports adding an auth layer like Authentik. Or, as the previous commenter mentioned, you could just forego exposing to the outside web entirely and use Tailscale. Or Wireguard.

2
Danitos reddthat.com Danitos@reddthat.com
Joined: 2024-01-17
#23 · Quote Reply

I used to just run icecast and mpd. Not sure how you could password protect that, though.

Maybe run it behind a reverse proxy and use that for auth.

2
Psythik lemmy.world Psythik@lemmy.world
Joined: 2023-12-21
#24 · (edited) Quote Reply

Thankyou. Will have a look and a play. Overkill isn't a bad thing for future proofing.

If you don't feel llke spending money just run a SHOUTcast server on your home PC/homelab/personal server, plus a small web server to serve as the front-end, and that way you can avoid paying the monthly fee for AsuraCast entirely (plus royalty fees).

1
ten8tp reddthat.com ten8tp@reddthat.com
Joined: 2026-08-25
#25 · Quote Reply

I've heard MusicAssistant can now do radio stations and using (local) AI to generate a DJ that will announce the song and some other neat tricks. I haven't used it in a while. Check out SmartHomeSolver (Reed) on YT, he had a video on it.

1
justin lemmy.fmmd.me justin@lemmy.fmmd.me
Joined: 2026-10-03
#26 · Quote Reply

Check out Sub/Wave

8
fleem piefed.zeromedia.vip fleem@piefed.zeromedia.vip
Joined: 2025-11-20
#27 · Quote Reply

i do this with navidrome and snapcast. navidrome for the smart playlists, snapcast to make it available anywhere.

vpn back home and my car is part of House Audio

snapcast can route external players in as well and sling it over the network. pretty cool

1
Vendetta9076 sh.itjust.works Vendetta9076@sh.itjust.works
Joined: 2023-06-08
#28 · Quote Reply

Check out Sub/Wave

Holy shit an actual use for AI that's super cool. Gonna spin this up.

5
ahmedezat_katteb lemmy.world ahmedezat_katteb@lemmy.world
Joined: 2026-10-01
#29 · Quote Reply

For your points 2 and 3 specifically: if you go the Icecast route (AzuraCast also uses Icecast under the hood), Icecast can require a username and password per mount point, so the stream URL alone is useless to anyone who stumbles on it, and you can give the mount a bland name. Put it behind HTTPS on your reverse proxy so the password isn't sent in clear text.

For point 4 (genres at certain times), AzuraCast's playlist scheduling handles that from the web UI. If you build it yourself instead, Liquidsoap can switch playlists by time of day, but it's a scripting language with a learning curve.

If what you really want is your own library rather than one stream everyone hears at the same time, the Navidrome suggestion is simpler: separate logins and plenty of Subsonic apps on Android.

4
lemmyvore feddit.nl lemmyvore@feddit.nl
Joined: 2023-06-15
#30 · Quote Reply

Maybe run it behind a reverse proxy and use that for auth.

Yeah if you put it behind a reverse proxy you have lots of options. Basic auth would be the most straightforward but you can also do mTLS with a custom self-generated CA fairly easily. Then there's OAuth but the setup is usually more involved than either of the above.

Whatever you use you gotta have HTTPS working, that's very important to keep it secured.

2
Decronym Bot Decronym@lemmy.decronym.xyz
Joined: 2026-01-05
#31 · (edited) Quote Reply

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
CA (SSL) Certificate Authority
Plex Brand of media server package
nginx Popular HTTP server

[Thread #117 for this comm, first seen 4th Oct 2026, 14:20]
[FAQ] [Full list] [Contact] [Source code]

3
Technoworcester feddit.uk Technoworcester@feddit.uk
Joined: 2025-06-03
#32 · Quote Reply

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread: Fewer Letters More Letters CA (SSL) Certificate Authority Plex Brand of media server package nginx Popular HTTP server [Thread #117 for this comm, first seen 4th Oct 2026, 14:20] [FAQ] [Full list] [Contact] [Source code]

Good bot

2
node815 lemmy.world node815@lemmy.world
Joined: 2023-06-18
#33 · Quote Reply

I don't use this software, but if you don't mind a little local LLM (or a paid one if that's your thing), this seems to be a pretty nice one:

https://www.getsubwave.com/

https://github.com/perminder-klair/subwave

It does use icecast for the back end.

3
corsicanguppy lemmy.ca corsicanguppy@lemmy.ca
Joined: 2023-06-12
#34 · (edited) Quote Reply

I don't use this software, but if you don't mind a little local LLM (or a paid one if that's your thing), this seems to be a pretty nice one: https://www.getsubwave.com/ https://github.com/perminder-klair/subwave It does use icecast for the back end.

Docker kills SLSA and ISO27002. Anything post-container?

1
corsicanguppy lemmy.ca corsicanguppy@lemmy.ca
Joined: 2023-06-12
#35 · Quote Reply

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread: Fewer Letters More Letters CA (SSL) Certificate Authority Plex Brand of media server package nginx Popular HTTP server [Thread #117 for this comm, first seen 4th Oct 2026, 14:20] [FAQ] [Full list] [Contact] [Source code]

This bot is missing a line dereferencing 'comm', as "community, by people who don't know what comm has meant for 60 years already"

1
zebidiah lemmy.ca zebidiah@lemmy.ca
Joined: 2025-04-01
#36 · Quote Reply

Have you looked at some like jellyfin?

Jellyfin is generally ass when it comes to music/audio stuff

1
loppwn sh.itjust.works loppwn@sh.itjust.works
Joined: 2023-06-09
#37 · Quote Reply

Check out Sub/Wave

Thanks! This was fun setting up yesterday and using it on my sunday-trip. Much deeper than my icecast setup from the 2000s.

1
Post Reply
Back to top