Skip to content

Releases: nikpottbecker/tailnet-irl-server

Tailnet IRL Server v1.8.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 12:46

Server-side stream health

This release adds continuous signal monitoring for the private Moblin-to-OBS path.

New

  • Samples MediaMTX inbound-byte counters every two seconds in the dashboard service, even when no browser is open
  • Calculates one authoritative input bitrate shared by dashboard, /api/status and irl-serverctl status
  • Reports offline, idle, starting, receiving and stalled signal states
  • Marks a ready publisher as stalled after eight seconds without new media bytes
  • Automatically returns to receiving as soon as inbound media resumes
  • Shows STREAM HÄNGT prominently in the dashboard
  • Makes irl-serverctl doctor fail for an active-but-stalled feed

The status API exposes only aggregate counters and health state; credentials, media URLs and recording paths remain excluded.

Rerun the appropriate installer to update. Existing credentials, profile, recordings and history are retained.

Tailnet IRL Server v1.7.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 12:37

Production readiness preflight

This release adds irl-serverctl doctor, a non-destructive pre-production check for the complete private relay path.

What it verifies

  • Active Tailscale IPv4 address in 100.64.0.0/10
  • Valid installed version and separate protected publisher/reader credentials
  • Active MediaMTX and dashboard services
  • RTSP, RTMP, HLS, WebRTC and SRT listeners bound to the current Tailscale address instead of a wildcard or stale address
  • Dashboard and localhost-only MediaMTX API health
  • Recording-volume capacity, with separate warning and critical results

Automation

The command exits successfully for BEREIT and BEREIT MIT WARNUNG, and returns a non-zero status for NICHT BEREIT. It never changes configuration or prints credentials and complete stream URLs.

# macOS
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" doctor

# Linux
sudo irl-serverctl doctor

Rerun the appropriate installer to update an existing installation; credentials, profile, recording configuration, history and recordings are retained.

Tailnet IRL Server 1.6.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 12:19

Tailnet IRL Server 1.6.0

This release adds storage monitoring to protect long-running IRL recordings from unnoticed disk exhaustion.

Highlights

  • Dashboard shows disk space, usage percentage, recording count and aggregate recording size
  • irl-serverctl status includes free space and recording storage totals
  • Warning level below 10% free space or below 5 GiB on disks of at least 50 GiB
  • Critical level below 3% or 1 GiB free
  • Filesystem scans are cached for 30 seconds
  • Status API exposes aggregate values only, never recording names or paths
  • Critical, warning, unavailable and cache behavior covered by automated tests

Upgrade

Pull the release and run the platform installer again. Existing credentials, profile settings, recording configuration, connection history and recordings remain unchanged.

git pull --ff-only
./install-macos.sh          # macOS
sudo ./install.sh           # Linux

Required attribution

This product includes Tailnet IRL Server software developed by Nik Pottbecker (https://github.com/nikpottbecker/tailnet-irl-server).

Tailnet IRL Server 1.5.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 05:38

Tailnet IRL Server 1.5.0

This release adds a persistent, privacy-conscious connection history for live production troubleshooting.

Highlights

  • Dashboard records stream starts, stream ends, MediaMTX outages and recovery
  • Completed stream durations, last-live time and a 24-hour stream-end count
  • Up to 200 events retained locally for 30 days
  • History survives service restarts
  • irl-serverctl status includes recent connection summary data
  • No credentials, connection URLs or media details are stored in the history
  • Strict schema normalization before persisted data reaches the status API
  • macOS state directory restricted to mode 0700; history file uses 0600
  • Hardened Linux service can write only to /var/lib/irl-server

Upgrade

Pull the release and run the platform installer again. Existing credentials, profile settings, recording configuration and recordings remain unchanged.

git pull --ff-only
./install-macos.sh          # macOS
sudo ./install.sh           # Linux

Required attribution

This product includes Tailnet IRL Server software developed by Nik Pottbecker (https://github.com/nikpottbecker/tailnet-irl-server).

Tailnet IRL Server 1.4.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 05:30

Tailnet IRL Server 1.4.0

This release adds a unified management command for day-to-day server operations.

Highlights

  • irl-serverctl status summarizes Tailscale, services, stream state and viewers
  • irl-serverctl check-update safely checks the latest GitHub release without installing anything
  • irl-serverctl restart restarts MediaMTX and the dashboard
  • irl-serverctl recording enable|disable|status|list provides one entry point for recording controls
  • Native installation on Linux and macOS
  • Cross-platform CLI tests on Ubuntu 24.04 and macOS 14
  • Existing credentials, recording configuration and stream profile remain unchanged during upgrades

Upgrade

Pull the release and run the platform installer again:

git pull --ff-only
./install-macos.sh          # macOS
sudo ./install.sh           # Linux

Required attribution

This product includes Tailnet IRL Server software developed by Nik Pottbecker (https://github.com/nikpottbecker/tailnet-irl-server).

Tailnet IRL Server 1.3.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 05:24

Tailnet IRL Server 1.3.0

This release adds optional server-side safety recording for IRL productions.

Highlights

  • Opt-in fMP4 or MPEG-TS recording through MediaMTX
  • Recordings stored below the private platform state directory
  • Configurable segment duration and automatic retention
  • recording.sh enable|disable|status|list control command
  • Recording remains disabled by default
  • Disabling recording never deletes existing media
  • Dashboard shows the configured recording state
  • End-to-end test verifies a real, non-empty H.264/AAC fMP4 recording
  • Recording controls verified on macOS 14 and Ubuntu 24.04

Upgrade

Pull the release and run the platform installer again. Existing credentials and profile settings remain unchanged. A default recording.env is created only when it does not already exist.

git pull --ff-only
./install-macos.sh          # macOS
sudo ./install.sh           # Linux

Recording is disabled after upgrade. Enable it explicitly with ./recording.sh enable or sudo ./recording.sh enable.

Required attribution

This product includes Tailnet IRL Server software developed by Nik Pottbecker (https://github.com/nikpottbecker/tailnet-irl-server).

Tailnet IRL Server 1.2.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 05:17

Tailnet IRL Server 1.2.0

This release adds production telemetry, configurable Moblin profiles and continuous cross-platform verification.

Highlights

  • Live input bitrate, uptime, reader count, media tracks and traffic totals
  • Update-safe profile.env for resolution, FPS, video/audio bitrate, SRT latency and adaptive bitrate
  • Direct LL-HLS and WebRTC preview links
  • Installable dashboard identity with an SVG app icon
  • Machine-readable /api/version endpoint
  • GitHub Actions checks on macOS 14 and Ubuntu 24.04
  • Authenticated H.264/AAC SRT end-to-end test on every push and pull request
  • Current Node 24-based official GitHub Actions

Upgrade

Pull the release and run the platform installer again. Existing credentials remain unchanged. The installer creates profile.env only when it does not already exist.

git pull --ff-only
./install-macos.sh          # macOS
sudo ./install.sh           # Linux

Run ./selftest-macos.sh or sudo ./selftest.sh afterward.

Required attribution

This product includes Tailnet IRL Server software developed by Nik Pottbecker (https://github.com/nikpottbecker/tailnet-irl-server).

Tailnet IRL Server 1.1.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 12 Oct 05:07

Tailnet IRL Server 1.1.0

This release improves day-to-day operation and hardens native installations.

Highlights

  • Live dashboard status updates without full page reloads
  • Copy controls for OBS/SRT, RTMP and RTSP URLs, including an HTTP clipboard fallback
  • Clear distinction between an idle stream and an unavailable media server
  • Atomic credential rotation with automatic service restart
  • Strict validation of Tailscale's 100.64.0.0/10 IPv4 range
  • More resilient macOS LaunchAgent updates
  • Graceful handling of malformed MediaMTX API responses
  • Nine automated Python tests plus credential-rotation and shell checks

Upgrade

Pull the release and run the platform installer again. Existing credentials remain unchanged.

git pull --ff-only
./install-macos.sh          # macOS
sudo ./install.sh           # Linux

Run ./selftest-macos.sh or sudo ./selftest.sh afterward.

Required attribution

This product includes Tailnet IRL Server software developed by Nik Pottbecker (https://github.com/nikpottbecker/tailnet-irl-server).

Tailnet IRL Server 1.0.0

Choose a tag to compare

@nikpottbecker nikpottbecker released this 11 Oct 19:08

A private, self-hosted IRL streaming relay for Moblin and OBS over Tailscale.

Highlights

  • Native macOS LaunchAgents and Linux systemd services
  • One-tap Moblin configuration for iPhone
  • Authenticated SRT ingest and OBS reader URLs
  • RTSP, RTMP, LL-HLS and WebRTC inside the Tailnet
  • No Docker, public ingest port or router forwarding
  • Separate locally generated publisher and viewer credentials
  • Official MediaMTX checksum verification
  • Runtime and H.264/AAC end-to-end self-tests

Install

Download the source archive, connect the server to Tailscale and run ./install-macos.sh on macOS or sudo ./install.sh on Debian/Ubuntu.

Attribution

Use and redistribution are permitted under the BSD Advertising Acknowledgement License. Redistributions and promotional material must retain the acknowledgement naming Nik Pottbecker. See LICENSE and ATTRIBUTION.md.