Skip to content

Linux and Proxmox

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

Linux and Proxmox installation

Supported targets

  • Debian 12 or 13
  • Ubuntu 22.04 or 24.04
  • x86_64 / amd64 or aarch64 / arm64
  • systemd
  • Proxmox LXC with /dev/net/tun

The installer must run as root. It expects Python 3, OpenSSL and systemd; if needed, it installs curl and CA certificates. When Tailscale is absent, it uses Tailscale's official package installer.

Proxmox LXC preflight

Inside the container:

test -c /dev/net/tun && echo "TUN available"

Do not continue until TUN available appears. Tailscale cannot establish its interface without this device.

The container should also have:

  • Working DNS and outbound HTTPS
  • A persistent hostname
  • Enough disk space for the OS and any optional recordings
  • A current time source, because TLS and logs depend on correct time

Install

git clone https://github.com/nikpottbecker/tailnet-irl-server.git
cd tailnet-irl-server
sudo ./install.sh
sudo ./selftest.sh

If the host is not yet connected, the installer starts tailscaled, runs tailscale up --hostname=irl-server and displays Tailscale's login URL.

Installed layout

Purpose Location
Application scripts /opt/irl-server
Management command /usr/local/bin/irl-serverctl
MediaMTX binary /usr/local/bin/mediamtx
Configuration /etc/irl-server
Credentials /etc/irl-server/credentials.env
State, history and recordings /var/lib/irl-server
Media service irl-mediamtx.service
Dashboard service irl-dashboard.service

The application runs as the dedicated unprivileged irl-server user. The dashboard service has no privilege escalation, a read-only system view, no capabilities and write access only to /var/lib/irl-server.

Verify

sudo ./selftest.sh
irl-serverctl status
systemctl --no-pager --full status irl-mediamtx irl-dashboard

Logs

sudo journalctl -u irl-mediamtx -f
sudo journalctl -u irl-dashboard -f

For recent boot messages:

sudo journalctl -u irl-mediamtx -u irl-dashboard -b -n 100 --no-pager

Update

cd tailnet-irl-server
git pull --ff-only
sudo ./install.sh
sudo ./selftest.sh

Uninstall

sudo ./uninstall.sh

Services, /opt/irl-server, mediamtx and irl-serverctl are removed. /etc/irl-server and /var/lib/irl-server remain intentionally, including credentials, connection history and recordings. Tailscale is not uninstalled.

Clone this wiki locally