TrueNAS Scale Deployment

From TrueNAS Scale 24.10+ (Electric Eel), SCALE-Apps switched from k3s to Docker, so SkyView can be deployed via a Custom App YAML. Only 24.10+ applies; for the older k3s path, upgrade TrueNAS first.

HardwareRecommended variantNotes
Intel CPU + iGPUopenvinoThe TrueNAS kernel ships with the i915 driver by default
NVIDIA GPU (GTX/RTX)cuda or trtApps → Settings → GPU shows the host GPU list
CPU onlycpuInference drops a tier but features are unchanged

Docker is only supported from TrueNAS Scale 24.10

24.04 and earlier use k3s/Kubernetes; the Custom App YAML in this guide uses the Docker backend and applies only to 24.10+. Back up per the official iX-systems migration guide before upgrading.

2. Prerequisites

  1. 1

    Upgrade TrueNAS to 24.10+

    System Settings → Update → choose the 24.10-Electric-Eel train and wait for the migration to finish

  2. 2

    Create a ZFS dataset

    Datasets → pick a pool → create a yunkan-data dataset, path like /mnt/pool0/apps/yunkan/data; the compose later mounts this to /app/data

  3. 3

    Check the GPU

    Apps → Settings → GPU to see the iGPU / NVIDIA detected on the host and confirm which variant to use

3. Get the compose file

TrueNAS recommends deploying via a Custom App YAML (through the UI), or you can run docker compose over SSH directly. Pick any one of three ways:

Download compose.yml

TrueNAS Scale 24.10+ template · openvino variant · remember to change the dataset path

Or wget over SSH (remember to change the dataset path):

bash
ssh root@<TrueNAS IP>
cd /mnt/pool0/apps/yunkan
wget https://yun-kan.com/compose/truenas.yml -O compose.yml
# ★ In the file, change /mnt/pool0/apps/yunkan/data to your real dataset path ★

Custom App YAML method (recommended)

TrueNAS UI → Apps → Discover Apps → top-right Custom App → set App Name to yunkan → paste the minimal version below in the Workloads/YAML editor (remember to replace /mnt/pool0/apps/yunkan/data with your dataset path).
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:
      - /mnt/pool0/apps/yunkan/data:/app/data
      - /mnt/pool0/apps/yunkan/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, replace the dataset path before pasting)

4. Start SkyView

Option A · Custom App: in the Apps UI, click Save → Install and wait for the status to become Running.

Option B · SSH:

bash
cd /mnt/pool0/apps/yunkan
docker compose up -d
docker logs -f yunkan

After it starts, open http://<TrueNAS IP>:23406/ in the browser (note the TrueNAS UI is on 80/443, no conflict) to enter the Setup wizard.

5. Ports and firewall

The TrueNAS Scale Web UI uses 80/443; SkyView's 23406 family doesn't conflict. Scale has no extra firewall by default, and SCALE-Apps bind ports directly via host network.

6. FAQ

The app is gone after upgrading 24.04 → 24.10

The k3s → Docker migration may make the old Custom App disappear; redeploy per this guide (the data volume is still in the ZFS dataset, so rebuilding the container restores it).

/dev/dri errors in the TrueNAS Custom App YAML

Confirm that TrueNAS UI → Apps → Settings → GPU has "Allow Containers to Access" checked.

Upgrading: upgrade via the Apps UI (Edit → change the image tag → Save) recommended; or over SSH, docker compose pull && docker compose up -d.

TrueNAS Scale Deployment - SkyView Docs