Download IRL Relay
Free to use, with an optional Pro licence for more inputs, destinations and quality. It runs on your own server with Docker (Unraid, a NAS, a Linux box, or Docker Desktop on Windows and Mac).
Install it
- Unzip it on the computer that will run it. You get a folder called
irl-relayholding aDockerfileand anappfolder. On Unraid, put it in/mnt/user/appdata/irl-relay. - Build it. Open a terminal in that folder (on Unraid, the >_ icon at the top right) and run this. The first time takes a few minutes, and the dot at the end matters.
docker build -t irl-relay .
- Start it. Paste this as one line, after changing the password and the address (your home IP or a name like
yourname.duckdns.org).On Windows or Mac, replacedocker run -d --name irl-relay --restart unless-stopped -p 8780:8780 -p 1935:1935 -p 8890:8890/udp -p 8889:8889 -p 8189:8189/udp -v /mnt/user/appdata/irl-relay-data:/data -e CONTROL_PASSWORD=choose-a-password -e PUBLIC_HOST=yourname.duckdns.org irl-relay
/mnt/user/appdata/irl-relay-datawith any folder you want to keep your settings in. - Open the control page at
http://YOUR-SERVER:8780and log in with the password you chose. The Help page inside the app walks you through the rest: adding your phone, adding Twitch or YouTube, and going live.
Got a Pro key?
In IRL Relay open Settings → Plan and licence, paste the key and press Activate. Without a key you keep the Free plan. Want to try Pro first? Request a free 7-day trial key.
Want OBS inside it?
Optional, and needs a stronger computer (about 4 cores). Build with this line instead of the one in step 2, and add -p 6080:6080 to the start line if you want the remote desktop. The Help page explains it.
docker build --build-arg WITH_OBS=1 -t irl-relay .
Use a graphics card? (optional)
By default IRL Relay encodes the video on the processor, which works everywhere. If your server has a graphics card, it can do that instead and leave the processor free. Switch it on later in Settings → Quality → Encoder, then press Test. If the card isn't set up properly, IRL Relay carries on with the processor and tells you why, so nothing breaks. The container just has to be given the card when you start it. Open the setup that matches yours:
NVIDIA · Unraid
Install the Nvidia Driver plugin from Community Apps and reboot. In Settings → Nvidia Driver copy the card's GPU UUID (starts with GPU-) and use it in this start line instead of the one in step 2:
docker run -d --name irl-relay --restart unless-stopped -p 8780:8780 -p 1935:1935 -p 8890:8890/udp -p 8889:8889 -p 8189:8189/udp -v /mnt/user/appdata/irl-relay-data:/data -e CONTROL_PASSWORD=choose-a-password -e PUBLIC_HOST=yourname.duckdns.org --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=GPU-your-uuid-here -e NVIDIA_DRIVER_CAPABILITIES=all irl-relay
NVIDIA · Ubuntu or Debian
Install the driver (Ubuntu: sudo ubuntu-drivers install and reboot; Debian: enable non-free, then sudo apt install nvidia-driver), then NVIDIA's Container Toolkit:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
Then tell Docker about it and start IRL Relay with --gpus all added:
sudo nvidia-ctk runtime configure --runtime=docker && sudo systemctl restart docker
docker run -d --name irl-relay --restart unless-stopped -p 8780:8780 -p 1935:1935 -p 8890:8890/udp -p 8889:8889 -p 8189:8189/udp -v /mnt/user/appdata/irl-relay-data:/data -e CONTROL_PASSWORD=choose-a-password -e PUBLIC_HOST=yourname.duckdns.org --gpus all irl-relay
NVIDIA · Fedora, RHEL, Rocky, Arch
Install the NVIDIA driver (Fedora: RPM Fusion's akmod-nvidia and xorg-x11-drv-nvidia-cuda; RHEL and relatives: NVIDIA's install guide; Arch: sudo pacman -S nvidia nvidia-utils nvidia-container-toolkit, which also covers the toolkit). On Fedora and RHEL add the toolkit:
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo && sudo dnf install -y nvidia-container-toolkit
Then tell Docker about it and start IRL Relay with --gpus all added:
sudo nvidia-ctk runtime configure --runtime=docker && sudo systemctl restart docker
docker run -d --name irl-relay --restart unless-stopped -p 8780:8780 -p 1935:1935 -p 8890:8890/udp -p 8889:8889 -p 8189:8189/udp -v /mnt/user/appdata/irl-relay-data:/data -e CONTROL_PASSWORD=choose-a-password -e PUBLIC_HOST=yourname.duckdns.org --gpus all irl-relay
NVIDIA · Windows (Docker Desktop)
Install the current NVIDIA driver on Windows and use Docker Desktop's WSL 2 backend (the default). Nothing else to install. Start IRL Relay with --gpus all added (and a Windows folder for the data, such as C:\irl-relay-data):
docker run -d --name irl-relay --restart unless-stopped -p 8780:8780 -p 1935:1935 -p 8890:8890/udp -p 8889:8889 -p 8189:8189/udp -v /mnt/user/appdata/irl-relay-data:/data -e CONTROL_PASSWORD=choose-a-password -e PUBLIC_HOST=yourname.duckdns.org --gpus all irl-relay
Intel or AMD · Linux and Unraid
The graphics driver is part of Linux, so nothing to install on the server. Check ls /dev/dri lists renderD128. Then build the image with the graphics drivers included, and start it with the graphics device passed through. If Test later says the device can't be opened, add --group-add $(getent group render | cut -d: -f3).
docker build --build-arg WITH_GPU=1 -t irl-relay .
docker run -d --name irl-relay --restart unless-stopped -p 8780:8780 -p 1935:1935 -p 8890:8890/udp -p 8889:8889 -p 8189:8189/udp -v /mnt/user/appdata/irl-relay-data:/data -e CONTROL_PASSWORD=choose-a-password -e PUBLIC_HOST=yourname.duckdns.org --device /dev/dri irl-relay
Docker Compose or Portainer
Add this to the service in your compose file (for Intel or AMD build the image with --build-arg WITH_GPU=1 and use devices: - /dev/dri:/dev/dri instead):
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu, video, compute, utility]Proxmox, TrueNAS, Synology, QNAP, Mac
Proxmox: pass the card through to the virtual machine (or share its device files into the LXC container) that runs Docker, then follow the Linux steps inside it. TrueNAS SCALE: turn on its NVIDIA driver in the Apps settings and give the app the GPU. Most Synology and QNAP models can't use a graphics card for this, so keep the processor. Macs can't pass a graphics card to Docker.
The built-in Help page has the same steps with more detail. This is a new feature: if your card won't start, the message under Encoder says what is missing.
Updating later
Download the new zip, replace the app folder with the new one, run the docker build line again, then docker rm -f irl-relay and run the start line again. Your settings, licence and clips are kept in the data folder, so nothing is lost. The control page shows a banner when a newer version is out.
All versions
Every release, newest first, with what changed. Download an older one if a newer version doesn't suit you. Your settings are kept in the data folder, so you can move between versions.
Loading…