Skip to content

Configuration

Nik Pottbecker edited this page Oct 12, 2026 · 1 revision

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

Moblin profile

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 restart

The current command restarts both services; active streams will briefly disconnect. Change settings before a production, not during one.

Practical mobile presets

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.

Recording configuration

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

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.

MediaMTX template

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.

Clone this wiki locally