Déploiement sur TrueNAS Scale

À partir de TrueNAS Scale 24.10+ (Electric Eel), SCALE-Apps est passé de k3s à Docker, SkyView peut donc être déployé via un YAML d'application personnalisée. Seule la version 24.10+ est concernée ; pour l'ancienne voie k3s, mettez d'abord TrueNAS à jour.

1. Matériel pris en charge et variante recommandée

MatérielVariante recommandéeRemarques
CPU Intel + iGPUopenvinoLe noyau TrueNAS inclut le pilote i915 par défaut
GPU NVIDIA (GTX/RTX)cuda ou trtApps → Settings → GPU affiche la liste des GPU de l'hôte
CPU uniquementcpuL'inférence perd un cran, mais les fonctionnalités restent identiques

Docker n'est pris en charge qu'à partir de TrueNAS Scale 24.10

24.04 et les versions antérieures utilisent k3s/Kubernetes ; le YAML d'application personnalisée de ce guide utilise le backend Docker et ne s'applique qu'à partir de la 24.10. Effectuez une sauvegarde selon le guide de migration officiel iX-systems avant de mettre à jour.

2. Prérequis

  1. 1

    Mettre à jour TrueNAS vers 24.10+

    System Settings → Update → choisissez la branche 24.10-Electric-Eel et attendez la fin de la migration

  2. 2

    Créer un dataset ZFS

    Datasets → choisissez un pool → créez un dataset yunkan-data, chemin du type /mnt/pool0/apps/yunkan/data ; le compose montera ensuite ce chemin sur /app/data

  3. 3

    Vérifier le GPU

    Apps → Settings → GPU pour voir l'iGPU / NVIDIA détecté sur l'hôte et confirmer quelle variante utiliser

3. Récupérer le fichier compose

TrueNAS recommande un déploiement via un YAML d'application personnalisée (via l'interface), ou vous pouvez exécuter docker compose directement en SSH. Choisissez l'une des trois méthodes :

Télécharger compose.yml

Modèle TrueNAS Scale 24.10+ · variante openvino · pensez à modifier le chemin du dataset

Ou via wget en SSH (pensez à modifier le chemin du dataset) :

bash
ssh root@<TrueNAS IP>
cd /mnt/pool0/apps/yunkan
wget https://yun-kan.com/compose/truenas.yml -O compose.yml
# ★ Dans le fichier, remplacez /mnt/pool0/apps/yunkan/data par le chemin réel de votre dataset ★

Méthode YAML d'application personnalisée (recommandée)

Interface TrueNAS → Apps → Discover Apps → Custom App en haut à droite → définissez App Name sur yunkan → collez la version minimale ci-dessous dans l'éditeur Workloads/YAML (pensez à remplacer /mnt/pool0/apps/yunkan/data par le chemin de votre dataset).
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, remplacez le chemin du dataset avant de coller)

4. Démarrer SkyView

Option A · Custom App : dans l'interface Apps, cliquez sur Save → Install et attendez que le statut passe à Running.

Option B · SSH :

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

Une fois démarré, ouvrez http://<IP TrueNAS>:23406/ dans le navigateur (notez que l'interface TrueNAS est sur 80/443, sans conflit) pour accéder à l'assistant de configuration.

5. Ports et pare-feu

L'interface web TrueNAS Scale utilise 80/443 ; la famille de ports 23406 de SkyView n'entre pas en conflit. Scale n'a pas de pare-feu supplémentaire par défaut, et SCALE-Apps lie les ports directement via le réseau de l'hôte.

6. FAQ

L'application a disparu après la mise à jour 24.04 → 24.10

La migration k3s → Docker peut faire disparaître l'ancienne Custom App ; redéployez selon ce guide (le volume de données est toujours dans le dataset ZFS, donc reconstruire le conteneur le restaure).

Erreurs /dev/dri dans le YAML de la Custom App TrueNAS

Vérifiez que l'interface TrueNAS → Apps → Settings → GPU a bien la case « Allow Containers to Access » cochée.

Mise à jour : mise à jour recommandée via l'interface Apps (Edit → changez le tag de l'image → Save) ; ou en SSH, docker compose pull && docker compose up -d.

Déploiement sur TrueNAS Scale - Documentation SkyView