Repository navigation
Operations
- Run the production preflight and resolve every failure.
- Confirm Tailscale on the iPhone and receiver.
- Confirm recording mode and retention.
- Send a short Moblin test.
- Verify video and audio in OBS.
- Stop the test and confirm the connection-history entry.
- If recording is enabled, play a completed segment.
macOS preflight:
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" doctorLinux preflight:
sudo irl-serverctl doctorContinue only when the final line is BEREIT or BEREIT MIT WARNUNG. A warning means disk capacity is already low and should be reviewed before a long recording.
- View the dashboard
- Run
irl-serverctl status - Check recording status (
sudo irl-serverctl recording statuson Linux) - Read service logs
- Open receiver previews
irl-serverctl restart- Enabling or disabling recording
- Rerunning an installer
- Rotating credentials
- Restarting Tailscale or the host
Schedule these operations before or after production.
tail -f "$HOME/Library/Application Support/IRL Server/logs/mediamtx.log"
tail -f "$HOME/Library/Application Support/IRL Server/logs/dashboard.log"
tail -n 100 "$HOME/Library/Application Support/IRL Server/logs/"*-error.logsudo journalctl -u irl-mediamtx -f
sudo journalctl -u irl-dashboard -f
sudo journalctl -u irl-mediamtx -u irl-dashboard -b -n 100 --no-pagerMediaMTX logs can describe connections but should still be reviewed and redacted before sharing.
macOS:
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" restartLinux:
sudo irl-serverctl restartRun from the source checkout:
# macOS
./selftest-macos.sh
# Linux
sudo ./selftest.shThe self-test covers Tailscale addressing, native service state, dashboard/API health and SRT binding. It does not create a camera stream.
From a checkout with FFmpeg/ffprobe, curl and OpenSSL:
./tests/e2e-local.shThis test downloads and verifies MediaMTX, generates temporary credentials, publishes H.264/AAC over authenticated SRT, reads the feed back and verifies a non-empty fMP4 recording. It uses temporary ports and files.
-
Stream gestartet: publisher became ready. -
Stream beendet/unterbrochen: publisher stopped; duration is included when known. -
Media-Server nicht erreichbar: local MediaMTX API stopped answering. -
Server wieder erreichbar: API recovered.
A service update may create offline/online events because both services restart. History records observed transitions; it cannot determine whether a stream end was intentional.
- Stop Moblin and confirm the stream ends.
- Disable recording if it is no longer needed.
- Wait for the final segment to close.
- Copy recordings to separate storage.
- Verify copied files before deleting originals.
- Review connection history and logs for unexplained interruptions.
- Record the installed version with the production notes.
Home · Quick start · Troubleshooting · Repository · Releases · License
Tailnet IRL Server · Developed by Nik Pottbecker