subwave

subwave

Docker app from SUB/WAVE's Repository

Overview

SUB/WAVE is a personal internet radio station. One Icecast stream, everyone hears the same thing at once, and an AI DJ pulls the tracks from your own Navidrome (or any Subsonic) library and talks between them: station IDs, the time, the weather, song requests. This is the all-in-one build. Icecast, Liquidsoap, the DJ controller, the web player and a Caddy front-end all run in this single container on one port. Your settings, library cache and recordings live under the Appdata path. Once it's up, open the WebUI and go to /onboarding. Sign in with the admin login you set here, point it at your Navidrome server, choose an LLM provider and a voice, and give the DJ a personality. There's a built-in Piper voice, so it can talk straight away with nothing else to install. No big GPU? That's most Unraid boxes. Install the official ollama container, run "ollama signin" in its console, and pick an Ollama cloud model. A small local model works too if you'd rather keep everything on the box.

Media gallery

1 / 3

Install Subwave on Unraid in a few clicks.

Find Subwave in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Subwave Review the template variables and paths Click Install

Requirements

A reachable Navidrome / Subsonic music server and an LLM provider (Ollama local/cloud or a cloud API key), both configured in the browser at /onboarding after first boot.

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/perminder-klair/subwave-aio:latest
Last Updated2026-06-25
First Seen2026-06-22

Runtime arguments

Web UI
http://[IP]:[PORT:80]
Network
bridge
Shell
bash
Privileged
false
Extra Params
--add-host host.docker.internal:host-gateway

Template configuration

WebUI PortPorttcp

Host port for the SUB/WAVE web UI + audio stream.

Target
80
Default
7700
Value
7700
AppdataPathrw

Persistent state: settings, library cache, rendered voices, hourly archives.

Target
/var/sub-wave
Default
/mnt/user/appdata/subwave
Value
/mnt/user/appdata/subwave
ADMIN_USERVariable

Admin username for /admin and the /onboarding wizard.

Default
admin
Value
admin
ADMIN_PASSVariable

Admin password (required — the station refuses to start without it). Generate one, e.g. 'openssl rand -hex 16'.

SITE_URLVariable

Public base URL of this station, e.g. http://YOUR-UNRAID-IP:7700 — used for share cards and absolute links.

TZVariable

Timezone — keeps scheduled shows and hourly-archive timestamps on local time.

Default
Europe/London
Value
Europe/London