Beltr
ghcr.io/casavargas/beltr:latest
https://github.com/orgs/CasaVargas/packages/container/package/beltr
bridge
bash
false
https://github.com/CasaVargas/beltr-releases/issues
https://beltr.app
Beltr turns any song in your music library into a karaoke track. It separates the vocals out with a local AI model, finds or transcribes synced lyrics, and displays them on a TV while everyone's phone acts as a remote — scan the QR code on screen, no app to install.
Everything runs on your server. Nothing about your library is uploaded.
FIRST RUN: Beltr downloads about 2 GB of model weights into /cache the first time it needs them. That happens once and survives container updates as long as /cache stays mapped. Watch the container log if a first song seems to sit still — the download is what it's doing.
SPEED: this is the CPU image. On a modern multi-core server, separating a 3-4 minute song takes a few minutes; most songs then get their lyrics instantly from an online lyrics database. The slow case is a song no lyrics provider knows, which falls back to local transcription and can take considerably longer — set WHISPER_MODEL_SIZE to large-v3-turbo if you hit that often. If your server has an NVIDIA GPU, install "Beltr-NVIDIA" instead; it is dramatically faster.
LICENSE: Beltr is a one-time purchase (no subscription). Run it free for five songs, then enter your key from beltr.app in the License key field below — or drop it in a file at /config/license.key. It activates once and then works offline. Container updates and restarts do not re-activate, as long as you keep the Config path mapped; a key covers two installs.
AFTER INSTALL: open the WebUI, go to Settings, and add /media as a music folder. Then open http://your-server:8477/tv on whatever screen you're singing at, and scan the QR with a phone.
MICROPHONES NEED HTTPS: browsers only allow microphone access on a secure page, so singing scores and the phone-as-mic feature need Beltr behind a reverse proxy with a certificate. Everything else — queueing, playback, lyrics, stem mixing — works normally over plain http.
NOTE: Beltr assumes everyone who can reach it is trusted. Set AUTH_PASSWORD to put a password on the TV and dashboard screens, but do not expose this container to the internet without a reverse proxy doing real authentication in front of it.
MediaApp:Music MediaServer:Music
http://[IP]:[PORT:8477]/dashboard
https://raw.githubusercontent.com/CasaVargas/beltr-unraid/main/templates/beltr.xml
https://raw.githubusercontent.com/CasaVargas/beltr-unraid/main/icon.png
https://raw.githubusercontent.com/CasaVargas/beltr-unraid/main/README.md
karaoke sing singalong lyrics vocals stems demucs whisper party microphone cdg mp3g
Proprietary — one-time purchase, five-song free trial
https://raw.githubusercontent.com/CasaVargas/beltr-unraid/main/screenshots/tv-lyrics.webp
https://raw.githubusercontent.com/CasaVargas/beltr-unraid/main/screenshots/dashboard.png
https://raw.githubusercontent.com/CasaVargas/beltr-unraid/main/screenshots/phone-remote.webp
2026-08-14
### 2026-08-14
First Community Applications release. The container tracks the Beltr desktop
release line — per-version notes are at
https://github.com/CasaVargas/beltr-releases/releases
Internet access on first start to activate a license key (or to begin the five-song trial). After that Beltr keeps working offline.
8477
/mnt/user/appdata/beltr
/mnt/user/beltr
/mnt/user/Music
/mnt/user/appdata/beltr-cache
99
100
Etc/UTC
large-v3
htdemucs
first-run