Repository navigation
Configuration
Installers create local configuration once and preserve it during later installs.
| File | macOS | Linux |
|---|---|---|
| Moblin profile | ~/Library/Application Support/IRL Server/config/profile.env |
/etc/irl-server/profile.env |
| Recording | ~/Library/Application Support/IRL Server/config/recording.env |
/etc/irl-server/recording.env |
| Credentials | ~/Library/Application Support/IRL Server/config/credentials.env |
/etc/irl-server/credentials.env |
| MediaMTX template | ~/Library/Application Support/IRL Server/config/mediamtx.template.yml |
/etc/irl-server/mediamtx.template.yml |
Default profile.env:
STREAM_NAME=IRL Server (Tailscale)
VIDEO_RESOLUTION=1920x1080
VIDEO_FPS=30
VIDEO_BITRATE=6000000
AUDIO_BITRATE=128000
SRT_LATENCY=2000
ADAPTIVE_BITRATE=true| Key | Allowed value | Default |
|---|---|---|
STREAM_NAME |
1–64 characters | IRL Server (Tailscale) |
VIDEO_RESOLUTION |
WIDTHxHEIGHT, each dimension 3–4 digits and non-zero |
1920x1080 |
VIDEO_FPS |
1–120 | 30 |
VIDEO_BITRATE |
100,000–50,000,000 bit/s | 6000000 |
AUDIO_BITRATE |
32,000–512,000 bit/s | 128000 |
SRT_LATENCY |
120–20,000 ms | 2000 |
ADAPTIVE_BITRATE |
true or false
|
true |
Restart only the dashboard after editing, then import the profile into Moblin again:
# macOS
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" restart
# Linux
sudo irl-serverctl restartThe current command restarts both services; active streams will briefly disconnect. Change settings before a production, not during one.
These are starting points, not guarantees:
| Use case | Resolution | FPS | Video bitrate | SRT latency |
|---|---|---|---|---|
| Conservative mobile | 1280x720 |
30 | 2500000 |
3000 |
| General IRL | 1920x1080 |
30 | 6000000 |
2000 |
| Fast action | 1920x1080 |
50 | 8000000 |
2000 |
Use adaptive bitrate and reduce the video bitrate first when the uplink is unstable.
Default recording.env:
RECORDING_ENABLED=false
RECORDING_FORMAT=fmp4
RECORDING_SEGMENT_DURATION=15m
RECORDING_DELETE_AFTER=0s| Key | Allowed value | Meaning |
|---|---|---|
RECORDING_ENABLED |
true, false
|
Master switch |
RECORDING_FORMAT |
fmp4, mpegts
|
Segment container |
RECORDING_SEGMENT_DURATION |
Positive integer plus s, m or h
|
Target segment length |
RECORDING_DELETE_AFTER |
Non-negative integer plus s, m, h or d
|
Automatic retention; 0s keeps files |
Prefer the management command over editing the enable flag manually. See Recording and storage.
credentials.env contains:
PUBLISH_PASSWORD=...
READ_PASSWORD=...Do not hand-edit or commit this file. Rotate both values atomically with the supplied script if a URL is exposed; see Security.
The installer owns a template and renders a runtime mediamtx.yml with:
- Current Tailscale IP
- SHA-256 hashes of both credentials
- Recording path and retention settings
Edit the high-level environment files for supported settings. Direct edits to rendered state are overwritten at the next restart or install.
Home · Quick start · Troubleshooting · Repository · Releases · License
Tailnet IRL Server · Developed by Nik Pottbecker