Documentation
Nobex Streaming Agent
The streaming agent is a desktop application (macOS, Windows, Linux) that runs your station from your own computer: it plays your media library 24/7, accepts live input from DJ software, and stays connected to your Nobex dashboard.
1. Overview
The agent uses Liquidsoap as its audio engine. Liquidsoap accepts a live stream from your DJ software, falls back to automated playlists when no live source is connected, and pushes the resulting stream to your station’s mount — with no gaps during the switch.
DJ software (Mixxx / Virtual DJ / BUTT)
│ connects to localhost:8001/live
▼
Nobex Streaming Agent ── Liquidsoap engine
• live input (priority)
• auto playlist (fallback)
│ streams to your station mount
▼
Your listenersWhen to use the agent: you want 24/7 automation from your own machine, use a hardware mixer or external soundcard, or need advanced audio processing. If you just want to get on air with zero installs, use Broadcast from Browser on your station’s Connection page instead.
2. Download & install
Windows
- Download NobexStreamer for Windows and unzip it into a folder of your choice, e.g.
C:\NobexStreamer. - Double-click
NobexStreamer.exe. If SmartScreen warns you, click More info → Run anyway, and allow the app through the firewall when Windows asks.
macOS
- Download NobexStreamer for macOS (Intel & Apple Silicon), unzip, and drag
NobexStreamer.appto Applications. - If macOS blocks your trusted Nobex download, open System Settings → Privacy & Security → Open Anyway, then reopen it.
Linux
Build from source (Go 1.25+): go build ./cmd/nobex-streamer — or contact support for a prebuilt binary for your distribution.
The agent also needs Liquidsoap on the same machine (next section). Without it the agent still starts, but it can’t stream.
3. Installing Liquidsoap
Windows — no terminal needed
- Download Liquidsoap 2.2.5 for Windows and FFmpeg (FFmpeg is only needed for microphone broadcasting from the agent).
- Unzip both into the same folder as
NobexStreamer.exe— the agent finds them automatically.
macOS
Install Homebrew first if needed, then run this in Terminal once:
brew install liquidsoap ffmpeg
Linux
# Debian / Ubuntu sudo apt install liquidsoap # Fedora / RHEL sudo dnf install liquidsoap
Keep the entire extracted Liquidsoap folder beside the Windows app, including its supporting files. Keep FFmpeg in its extracted folder with bin/ffmpeg.exeinside. You do not need Go, a compiler, PATH edits, or Docker to use the desktop downloads.
4. First-time setup
- In your dashboard, open your station’s Connection → From Your Computer tab and generate an API key and secret from the credentials panel. The secret is shown once — keep the window open.
- Open the NobexStreamer app. The setup window appears on first launch (later: gear icon → Settings). The API endpoint is already filled in (
https://api.nobexradio.com). - Paste in your Station ID (shown on the Connection page) and the API key and secret from step 1, then click Save & Continue. If an older download opens Settings, edit the Default profile, save it, then save Settings.
- Click Start Engine. Upload tracks to your Nobex library for music playback; the agent downloads them. Open your public player and listen to confirm audio. Online status alone confirms only the dashboard connection, not that listeners can hear the stream.
5. Configuration reference
Settings are stored in ~/.nobex-streamer/config.json. The wizard writes this for you; edit it only if you need to change ports or paths. Connection credentials live in named profiles, so one install can switch between stations:
{
"active_profile": "Default",
"profiles": [
{
"name": "Default",
"api_endpoint": "https://api.nobexradio.com",
"station_id": "your-station-id",
"api_key": "nbx_...",
"api_secret": "..."
}
],
"liquidsoap_binary": "liquidsoap",
"liquidsoap_port": 8001,
"heartbeat_interval": 30
}liquidsoap_port— the local port DJ software connects to (default8001). Change it if something else uses that port.liquidsoap_binary— full path to the Liquidsoap executable if automatic detection fails.media_cache_dir— base path used to locate engine files. Synced music uses the station folder under~/.nobex-streamer/media/.heartbeat_interval— seconds between status reports to the dashboard.
Quit and reopen the app after editing the file.
6. Going live from DJ software
While the agent is running, Liquidsoap listens for a live source on your machine. Point any Icecast-compatible DJ software at it — when you connect, the live feed takes over; when you disconnect, playback falls back to your automated playlist with no dead air.
localhost8001 (your liquidsoap_port)/liveWhere to enter these
- Mixxx — Preferences → Live Broadcasting
- Virtual DJ — Config → Broadcasting
- BUTT — Settings → Main → Server settings (server type: Icecast)
7. Keep broadcasting
Keep the app open, your computer awake, and your internet connection active. Add the app to your Mac login items or Windows Startup folder if you want it to open when you sign in. Click Start Engine after opening it.
This desktop build needs a signed-in desktop session. Headless streaming through NSSM or systemd is not supported. For unattended broadcasting without your computer, use Cloud AutoDJ.
8. Command line reference
The app opens its GUI by default — you never need the command line for normal use. Flags for advanced setups:
NobexStreamer [flags] --config <path> Configuration file (default: ~/.nobex-streamer/config.json) --setup Re-run the setup wizard --version Show version information
9. Troubleshooting
“liquidsoap binary not found”
Liquidsoap isn’t installed or isn’t on your PATH. Install it (section 3) or set liquidsoap_binary in the config to its full path.
Agent can’t connect to the backend
- Check the API endpoint in your config matches the one shown above.
- Verify your API key and secret are still valid. Creating new credentials does not revoke the old ones; revoke credentials separately if you are replacing them.
- Check your firewall allows outbound HTTPS and WebSocket connections.
DJ software can’t connect
- Make sure the agent is running and Liquidsoap started (check the logs below).
- The password must be your API secret, not the API key.
- Confirm the port isn’t blocked:
nc -zv localhost 8001 - If port 8001 is taken by another app, change
liquidsoap_portand update your DJ software to match.
Logs
Agent and engine logs live in ~/.nobex-streamer/logs/. To follow the engine log in real time:
tail -f ~/.nobex-streamer/logs/liquidsoap.log
GUI won’t start
- macOS — make sure you’re on a local session (not SSH); check Console.app for errors.
- Windows — run from PowerShell or Command Prompt, not WSL.
- Linux — the GUI needs a desktop session (X11/Wayland); it won’t start over plain SSH.
~/.nobex-streamer/logs/liquidsoap.log.