Skylink Security · self-hosted NVR · 1.2.0

Install Skylink on your own server.

The full NVR — live view, continuous recording, object detection and timeline playback — on hardware you control. Free for one camera. No cloud account required to start.

  • Linux / WSL2
  • CPU or NVIDIA
  • Signed release

Signed release

Download version 1.2.0.

The bundle contains the compiled installer, the digest-pinned image manifest, the licence public keys and the release evidence. Images are pulled from the public registry during installation.

Before you install

What you need

  • A Linux x86_64 host with Docker (Ubuntu 24.04/26.04 tested; Debian 12/13, Fedora 40+ and Arch experimental), or Ubuntu 24.04/26.04 in WSL2 on Windows.
  • Rootful Docker Engine and the Docker Compose v2 plugin already installed. Rootless Docker and user-namespace remapping are not supported.
  • A dedicated empty storage mount on ext4, XFS, btrfs or ZFS. At least 5 GiB free; allow far more for recordings. On WSL use the ext4 WSL disk, not /mnt/c.
  • A private HTTPS address for the console — Tailscale Serve or a WireGuard/TLS proxy.
  • For NVIDIA: a supported GPU with native Linux Container Toolkit, or a Windows NVIDIA driver with WSL2 GPU support. Intel/AMD acceleration is native-Linux only.

The installer refuses occupied ports, a missing mount, non-empty storage and unsupported operating systems. It does not format disks.

WSL/Docker Desktop: bridge networking is used, so automatic ONVIF discovery is unavailable. Add cameras by IP address or RTSP URL. Automatic discovery works on native Linux host networking.

Install

Three commands to a running recorder.

Run these on the Ubuntu host as a user with sudo. Replace the example addresses, mount and storage paths with your own.

  1. 01 · Verify

    Check the signature

    Download the bundle, checksums and release key into the same directory, then verify before unpacking.

    sha256sum -c SHA256SUMS
    
    tar -xzf skylink-1.2.0.tar.gz
    cd skylink-1.2.0
    
    openssl pkeyutl -verify -pubin -inkey ../release-public.pem \
      -rawin -in manifest.json -sigfile manifest.sig
  2. 02 · Install

    Run the easy installer

    The bundle includes an interactive installer. It asks for the storage mount, data directory, LAN address, port, CPU or NVIDIA variant, account service, private HTTPS URL and installation name, then shows a review before making changes.

    cd skylink-1.2.0
    sudo ./install.sh

    Use sudo ./install.sh --dry-run to review the equivalent command without installing. The local owner username and password are requested by the signed installer.

    On WSL2: keep the data directory on the ext4 WSL disk, use the Windows LAN or Tailscale address at the advertised-address prompt, and open http://localhost:<port> on Windows.

    Prefer to configure it manually?
    sudo ./skylink-installer install \
      --bundle . \
      --release-key ../release-public.pem \
      --mount /mnt/storage \
      --storage /mnt/storage/skylink \
      --bind 192.168.1.20 \
      --port 8080 \
      --variant cpu \
      --vendor-url https://accounts.skylinkaustralia.com \
      --https-url https://recorder.example.ts.net \
      --name "Skylink"

    Use --variant nvidia for the NVIDIA build. The HTTPS address must be a private, certificate-valid URL; it is used for mobile pairing and account links.

  3. 03 · Activate

    Open the console

    Open your private HTTPS address, sign in, add a camera and let recording start. The free edition includes one camera. Activate a licence under Settings → Licensing when you are ready for unlimited cameras.

Keep it private.

Do not expose port 8080 or the recorder to the public Internet. Use Tailscale, WireGuard or another private network, and restrict console access to your own devices.

After installation

Recording first. Licensing when you need it.

The free edition is not a trial: one camera records continuously, with live view, playback and a viewer watermark. Paid licences unlock unlimited cameras and remove the watermark. Annual licences include a 30-day offline allowance; lifetime licences work offline indefinitely.

Maintenance

The same installer handles backup, restore, upgrade, repair, diagnostics and uninstall. Backups contain the database, configuration and secrets — not footage. Store them encrypted and off the recorder.

sudo ./skylink-installer --root /opt/skylink backup
sudo ./skylink-installer --root /opt/skylink upgrade \
  --bundle /path/to/verified/bundle

The native mobile app is coming soon. The console already works in a phone browser over your private network.