# IRL Dashboard — SRTLA Receiver The router in your backpack bonds every modem/Wi-Fi uplink into one **SRTLA** stream. That stream has to be **reassembled** on a machine with a public address before it can go to your streaming software. This package is that machine: a tiny `srtla_rec` container plus [datarhei Restreamer](https://datarhei.github.io/restreamer/), wired together. ``` router (srtla_send) --SRTLA/UDP--> srtla_rec --SRT--> Restreamer --RTMP--> YouTube / Twitch / Kick / … ``` Run it on anything always-on with a public IP or a port-forward: a home server / NAS (Unraid, Synology, TrueNAS), a mini-PC, or a cheap VPS. ## Requirements - Docker + the Docker Compose plugin (`docker compose`). - A **public IP or a DDNS name**, and the ability to **port-forward one UDP port** (default `25554`) to this box. ## Install ```bash # 1. Get the package curl -fsSL https://streamhelpers.com/irl-dashboard/receiver/receiver.tar.gz | tar xz cd receiver # 2. Configure (optional — defaults are fine to start) cp .env.example .env # 3. Build + start docker compose up -d --build ``` Then: 1. Open **Restreamer** at `http://THIS-BOX-IP:8080` and complete its first-run setup (it will ask you to create an admin login). Confirm its **SRT input is on port 6000** (the default). 2. **Forward UDP `25554`** on your firewall/router to this box. 3. In the dashboard's **Bonding** tab, set: - **Receiver host** = this box's public IP or DDNS name - **Receiver port** = `25554` (your `SRTLA_PORT`) ## Point the Director Mini at the router On the Director Mini (**Stream → Add Server → SRT → SRT Caller**): | Field | Value | |---|---| | Mode | Caller | | Address | your router's IP (e.g. `192.168.8.1`) | | Port | `5000` (the dashboard's "SRT input port") | | Latency | **4000–6000 ms** — your glitch buffer; higher = fewer dropouts on rough links | | Stream ID / Passphrase | match what your Restreamer SRT input expects (often blank to start) | Press **Start bonding** in the dashboard, then start that stream on the Director Mini. The bonded feed arrives at Restreamer, where you add your YouTube/Twitch/etc. publishing targets as normal. ## Using an ingest you already run If you already run Restreamer (or OBS, SRS, nginx with SRT, …), you don't need the bundled one: 1. Delete the `restreamer` service **and** the `volumes:` block from `docker-compose.yml`. 2. In `.env`, set `SRT_TARGET_HOST` / `SRT_TARGET_PORT` to your ingest's SRT address. 3. `docker compose up -d --build`. ## Update ```bash docker compose pull # newer Restreamer docker compose up -d --build # rebuild srtla_rec from latest source ``` ## Troubleshooting - **Nothing arrives.** Confirm the UDP port is actually forwarded to this box (`nc -u -l 25554` won't work while the container holds it — check your firewall/NAT rules instead), and that the dashboard's Receiver host/port match. - **`srtla_rec` logs "connection" churn.** Check the Director Mini is actually sending SRT to the router, and that Restreamer's SRT input is up on port 6000. - **Logs:** `docker compose logs -f srtla_rec` and `docker compose logs -f restreamer`. --- Part of the [IRL Dashboard](https://streamhelpers.com/irl-dashboard/). `srtla_rec` is built from the upstream [BELABOX/srtla](https://github.com/BELABOX/srtla) project. Provided free and as-is, with no warranty and no support.