This article isn't very useful for a "one liner radio", but I use icecast2 in a couple of ways

1. I host a VGM radio [1] 2. I use a combination of icecast2 and darkice to have a full home audio networking.

With the home audio network, there's a lot to optimize, but I haven't implemented it much more to experiment with it further.

Basically I have a Ubuntu Desktop VM on my home server. A long range bluetooth receiver [2] is feed from Proxmox host into the VM. The audio from the Bluetooth source (say your phone or your computer) is pulled from Darkice and renders an MP3 file/stream into Icecast2, which then broadcasts it on 10.0.0.10:8000/home I can use devices like Raspberry Pis to continuously listen on that URL for playback and play if it's available. There's CLI audio players like mpg123.

This could be used for whole home audio playback, but there's weird quirks to deal with like the delay between the audio in and when you hear it, as well as it becoming desynced over time.

It can also be setup in reverse where a RPi ingests audio from it's audio jack and sends it to the audio hub VM and the audio hub sends it out to the network.

[1] https://vidya.fm [2] https://www.amazon.com/gp/product/B07KTK8YP3/

> weird quirks to deal with like the delay between the audio in and when you hear it, as well as it becoming desynced over time.

You may want to check out Snapcast. I use it to distribute audio to 6 clients on diverse hardware (several Raspberry Pis, a Windows PC, a Linux PC) and it handles synchronized playback very well, after tweaking the latency offsets for each device (once).

https://github.com/badaix/snapcast

(Edit: Ok, Snapcast doesn't get rid of the delay. But it does keep the players in sync, if you can tolerate some delay between source and speakers.)