Ubuntu / Debian Deployment

A standard Linux deployment is the cleanest. On Ubuntu 22.04 / 24.04 LTS or Debian 12 (Bookworm), docker + docker compose v2 are a one-line apt install, and SkyView's one-line script handles variant detection and GPU-acceleration config.

Ubuntu / Debian runs on virtually any x86_64 machine, and all 4 variants work — choose by hardware:

HardwareRecommended variant
Intel 11th-gen+ iGPU / NPUopenvino
NVIDIA GPU + VRAM < 8GBcuda
NVIDIA GPU + VRAM ≥ 8GBtrt (faster than cuda)
CPU only / AMD CPU without discrete GPUcpu

2. Install docker

Both Ubuntu and Debian use Docker's official one-line script:

bash
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Log out and back in for the docker group to take effect; or temporarily, newgrp docker

Extra step for NVIDIA GPU users

To use the cuda/trt variants, first install nvidia-container-toolkit; roughly sudo apt install nvidia-container-toolkit && sudo systemctl restart docker.

SkyView's one-line script auto-detects hardware, picks a suitable image variant, pulls the image, and starts the container — done in 5-15 minutes:

bash
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash

When the script finishes it prints the browser URL (something like http://192.168.1.10:23406/); open it to enter the Setup wizard.

4. Or deploy manually with compose

If you want to control the config yourself — download in the browser, wget over SSH, or copy and paste the minimal version below; the generic Linux template defaults to the openvino variant, so just change the image to the variant matching your hardware:

Download the generic compose template

Generic docker compose template · change the image tag to yunkan-cpu / yunkan-openvino / yunkan-cuda / yunkan-trt

Or wget over SSH:

bash
mkdir -p ~/yunkan && cd ~/yunkan
wget https://yun-kan.com/compose/ubuntu-debian.yml -O compose.yml
# Change image to the variant matching your hardware (yunkan-cpu / yunkan-openvino / yunkan-cuda / yunkan-trt)
docker compose up -d

Or copy the minimal version below, save it as compose.yml, then docker compose up -d (defaults to the openvino variant; on CPU-only machines change image to yunkan-cpu and delete the devices section):

yaml
name: yunkan

services:
  yunkan:
    image: registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-openvino:latest
    container_name: yunkan
    restart: always
    network_mode: host
    devices:
      - /dev/dri:/dev/dri
    volumes:
      - ./data:/app/data
      - ./recordings:/app/data/recordings
      - /etc/machine-id:/etc/machine-id:ro
      - /sys/class/dmi/id/product_uuid:/sys/class/dmi/id/product_uuid:ro
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Shanghai
      - SKYVIEW_SELF_CONTAINER_NAME=yunkan
compose.yml (minimal, paste and save)

5. Firewall (UFW)

UFW is off by default on Ubuntu. If you've enabled UFW, allow:

bash
sudo ufw allow 23406,23880,24214,24215/tcp
sudo ufw allow 23515/udp
sudo ufw reload

6. FAQ

AppArmor denies device access (rare)

AppArmor is on by default on Ubuntu; the SkyView container uses the docker-default profile and avoids issues. If you do hit an error (almost never), add security_opt: ["apparmor=docker-default"] to the compose.

Debian's iGPU driver is outdated

The Bookworm repo's intel-media-va-driver has incomplete support for Alder Lake-N (N100/N305). Get a newer version with apt install -t bookworm-backports intel-media-va-driver-non-free.

Upgrading: fully supported — web admin → Settings → System → Check for updates for a one-click upgrade; or manually, docker compose pull && docker compose up -d.

Ubuntu / Debian Deployment - SkyView Docs