Back to blog
Home Automation 19 July 2026 8 min

Building Radio Khushbu: A 24×7 Internet Radio on a Home PC

How we turned a folder of 773 songs on an ordinary desktop into a self-healing internet radio station streaming to the world at pblab.in/radio.

By PB Lab

Most people think running an internet radio station needs a data centre, a licence server, and a monthly cloud bill. It doesn't. Radio Khushbu is a fully working 24×7 radio channel that runs on a single HP EliteDesk desktop sitting at home, streams a shuffled library of 773 tracks, and is reachable from anywhere in the world at pblab.in/radio — with no fixed public IP and no paid hosting for the audio itself.

This post walks through exactly how it is built, the problems we hit, and how we made it self-healing so it keeps playing even when the network underneath it changes.

The goal

One permanent link that anyone can open — in a browser or a radio player app — and instantly hear music playing. It had to auto-start (no pressing play), pick tracks at random from a folder and all its sub-folders, and survive reboots without manual work.

The audio engine: Liquidsoap + Icecast

The core of any internet radio is two pieces: a source that decides what plays, and a server that broadcasts it to listeners.

Liquidsoap is the source. It reads the music folder recursively, shuffles it, decodes each file, and produces one continuous audio stream. Icecast2 is the broadcast server — it takes that stream on a mountpoint and serves it to every listener over HTTP as a standard MP3 feed.

  • Liquidsoap scans the whole Music folder including sub-folders, in random mode
  • It streams at 192 kbps MP3 to an Icecast mountpoint (/radiokhushbu)
  • Icecast handles all the listeners — one stream in, many listeners out

The hard part: reaching it from the internet

A home connection has no fixed public IP, and opening ports on a home router is fragile and insecure. The clean solution is to mirror the stream to a free cloud VM that already has a stable public IP — so listeners connect to the cloud, not your home network.

The catch with free tunnel services is that the public URL changes every time the tunnel reconnects. Paste that URL into an app and it works today, breaks tomorrow. That single problem is what makes most DIY radio setups fail after a day. The fix is to skip the tunnel entirely and use a cloud relay with a permanent address.

The fix: a permanent link that follows the stream

The stream runs on the home PC (Liquidsoap → Icecast) and is mirrored to a free Oracle Cloud VM that acts as a permanent, always-on relay, served securely over HTTPS at radio.pblab.in. The relay has a stable URL that never changes, so the link people share stays valid forever.

For radio player apps, pblab.in/stream and pblab.in/stream.m3u both point at that stable relay. Apps that expect a raw stream URL get exactly what they need, permanently.

Autoplay in the browser

Browsers block audio autoplay until the user interacts with the page — a deliberate anti-annoyance rule. The radio page handles this gracefully: it tries to autoplay immediately, and if the browser blocks it, the very first tap anywhere on the page starts playback. At most one tap, no hunting for a play button.

Making it self-healing

Everything runs as systemd services so it starts on boot and restarts on crash. The home Liquidsoap pushes the audio to both the local Icecast and the Oracle Cloud relay, so even if one path hiccups, listeners on the other stay connected.

The Oracle relay is an always-free VM with a systemd service set to auto-restart, so it recovers on its own. The home side has the same safety: if Liquidsoap stops, systemd brings it back. The station stays up with no manual intervention.

  • systemd services: auto-start on boot, auto-restart on crash
  • Dual-path delivery: local Icecast + Oracle cloud relay
  • Telegram alerts when anything needs attention

What it costs

The audio streaming costs nothing beyond the electricity to run a desktop that was already on. The only paid piece is the domain and the small website that hosts the permanent link — which pblab.in already had. That is the whole point: a real, reliable radio station built almost entirely from free, open-source software on hardware you already own.

Listen now

Radio Khushbu is live. Open pblab.in/radio in a browser, or paste the stable stream link into any radio player app. It plays a different shuffle every time.

Prefer a direct URL for an app? Use pblab.in/stream (or the .m3u playlist at pblab.in/stream.m3u). It points at our always-on cloud relay at radio.pblab.in, so it never changes.

If you want a setup like this for your own music library, shop, cafe, or event, PB Lab can build and deploy it end to end.

Listen to Radio Khushbu

Open the player in your browser, or paste the stream link into any radio app.