Installation

SkyView est distribué sous forme d'une image Docker unique, et une seule commande suffit pour démarrer le service. Ce chapitre couvre les prérequis système, le choix d'une variante, la commande d'installation, le mappage des ports/volumes, les mises à jour et la désinstallation.

Prérequis système

ÉlémentMinimumRecommandé
Système d'exploitationNoyau Linux ≥ 5.x (Ubuntu 22.04+ / Debian 12+)Ubuntu 24.04 LTS
CPU4 cœurs x86_64 (ou RK3588 ARM64)8 cœurs ou plus
Mémoire4 Go8 à 16 Go (flux multiples + détection IA)
Disque64 Go (enregistrement seul)1 To+ HDD (à dimensionner selon la durée de rétention)
Docker20.10+Dernière version stable
GPU (optionnel)AucuniGPU Intel 11e génération+ / NVIDIA série 30+

Architectures prises en charge : x86_64 et RK3588

SkyView distribue principalement des images x86_64 ; sur ARM, il prend actuellement en charge le Rockchip RK3588 (la variante rknn accélérée par NPU, voir Déploiement RK3588). Les autres appareils ARM (Raspberry Pi / modèles Orange Pi non RK3588 / Apple Silicon, etc.) ne sont pas pris en charge pour le moment.

Choisir une variante d'image

L'accélération matérielle pour la détection IA se décline en 4 variantes selon le matériel. Choisir la mauvaise variante ne fait que ralentir ou désactiver la détection ; tout le reste (enregistrement, lecture, audio bidirectionnel) n'est pas affecté. Le script d'installation en une ligne détecte automatiquement votre matériel et choisit la bonne variante pour vous — le tableau ci-dessous n'est qu'une référence pour ceux qui souhaitent choisir manuellement.

Tag d'imageMatériel adaptéRemarques
cpuCPU uniquementSolution universelle de repli, performances moyennes, convient pour 2 à 4 flux à 5 im/s
openvinoCPU / iGPU / NPU Intel11e génération Core et plus, meilleur rapport qualité/prix
cudaGPU NVIDIANécessite nvidia-container-toolkit, série GTX 16 et plus
trtGPU NVIDIA + ≥ 8 Go de VRAM (le plus rapide)Plus rapide que cuda, mais le démarrage échoue avec moins de 8 Go de VRAM ; le premier lancement effectue une optimisation ponctuelle du modèle d'environ 3 minutes

Choisir un palier selon le matériel (référence détaillée)

Lors de l'achat d'une nouvelle machine ou de l'évaluation d'une machine existante, utilisez les 5 paliers ci-dessous, regroupés selon la puissance du CPU. Chacun indique l'image recommandée, le nombre de caméras qu'il peut gérer de façon fiable, et les fonctionnalités de détection IA qu'il peut exécuter sans à-coups (vous les activez toujours manuellement dans la console web).

PalierExemple de matérielCamérasImage recommandéePositionnement en une phrase
Entrée de gammeCeleron J4125 / J4105 / J4025 (ancien Atom)1 fluxcpuMatériel ancien / de récupération à petit prix — juste assez pour fonctionner
Débutant à la maisonN100 / N97 / N95 (Alder Lake-N 4 cœurs)1 à 2 fluxopenvinoUsage domestique courant, palier d'entrée avantageux
Aide aux aînésN150 / N250 / N3051 à 3 fluxopenvinoLe minimum requis pour activer la détection de chute
Multi-camérasi5 / i7 11e-13e génération + iGPU Iris Xe (80EU+)2 à 4 fluxopenvinoUn plafond raisonnable pour de nombreuses caméras + détection sur toute la maison
Fonctionnalités complètes / usage commercialGPU dédié NVIDIA GTX 1060 / RTX 2060 ou supérieur4+ fluxcuda (avec ≥ 8 Go de VRAM, vous pouvez passer à trt pour un gain de vitesse d'environ 2×)Peut tout activer — gestes, pleurs de bébé, et plus encore

Fonctionnalités de détection que chaque palier peut exécuter sans à-coups

Les paliers supérieurs peuvent activer davantage de fonctionnalités de façon fiable. Sur un palier bas, activer trop de fonctionnalités fait prendre du retard à l'inférence par rapport à la fréquence d'images de la caméra et fait manquer des événements. Le tableau ci-dessous indique les capacités de détection recommandées pour chaque palier — ✅ signifie recommandé, ❌ signifie déconseillé sur ce matériel. Une installation neuve n'active par défaut que la détection d'objets ; tout le reste doit être activé manuellement dans la console web → Paramètres → Détection, selon les besoins.

Fonctionnalité de détectionEntrée de gamme J4125Domestique N100Aînés N150Multi-caméras Iris XeComplet NVIDIA
Détection de mouvement
Reconnaissance faciale
Détection d'objets (personne/véhicule/animal/etc.)
Détection de chute
Reconnaissance de plaques d'immatriculation
Reconnaissance de gestes
Détection de pleurs de bébé

Configurez au moins un flux secondaire

Exécuter la détection IA sur un flux secondaire (640x360 / 480p) consomme 5 à 10 fois moins de CPU que le flux principal (1080p). Presque toutes les caméras ONVIF proposent un flux secondaire. Voir Ajout de caméras.

Avec de nombreuses caméras, désactivez la détection sur celles qui ne sont pas critiques

Sur 5 caméras, seules 2 sont peut-être critiques (porte d'entrée / salon) ; laissez les 3 autres enregistrer sans détection. Ainsi, même un N100 fonctionne confortablement — concentrez la puissance de calcul sur les caméras qui comptent vraiment.

Déploiement en une ligne (recommandé)

Exécutez une seule commande et le script détecte automatiquement votre matériel, choisit la variante d'image la mieux adaptée, télécharge l'image et démarre le conteneur — 5 à 15 minutes de bout en bout selon votre connexion.

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

Vous voulez examiner le script avant de l'exécuter

Rediriger un script vers bash via un pipe est une pratique courante, mais pas la plus sûre. Pour l'auditer d'abord : curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh -o install.sh, puis cat install.sh pour le lire, puis bash install.sh. Vous pouvez aussi ajouter --detect-only pour que le script se contente de sonder le matériel et de recommander une variante sans réellement déployer.

Ce que fait le script :

  • Vérifie que le système est Linux x86_64 avec Docker installé
  • Vérifie que les ports tels que 23406 / 23880 / 24214 / 24215 / 23515 sont libres
  • Sonde le matériel : GPU NVIDIA (y compris la VRAM) / iGPU Intel / NPU Intel
  • Choisit automatiquement la variante d'image la mieux adaptée parmi cpu / openvino / cuda / trt
  • Télécharge l'image (depuis Aliyun par défaut) + écrit un fichier docker-compose + génère automatiquement un secret aléatoire fort
  • Démarre le conteneur et attend que le contrôle de santé passe (environ 60 secondes)
  • Affiche l'URL du navigateur (par exemple http://192.168.1.10:23406/)

Le script ne touchera pas à votre système

Il n'installera pour vous ni Docker, ni le pilote NVIDIA, ni nvidia-container-toolkit. Si l'un de ces prérequis manque, le script s'arrête et vous indique les commandes d'installation pour votre distribution ; exécutez-les vous-même, puis relancez le script.

Options courantes

OptionUtilité
--variant cpu/openvino/cuda/trtForcer une variante d'image précise au lieu de la sélection automatique
--detect-onlySe contenter de détecter le matériel + recommander une variante, sans déployer réellement
--offline image.tar.gzDéploiement hors ligne par paquet (sans accès internet)
--data-dir /pathRépertoire d'état personnalisé (base de données / cookies / journaux, par défaut ~/skyview/data)
--recordings-dir /pathDiriger les enregistrements vers un disque volumineux / NAS séparément (par défaut ~/skyview/recordings, à côté de data ; les enregistrements peuvent atteindre l'échelle du To)
--registry <url>Utiliser un registre d'images privé
--version 0.6.0Télécharger une version précise (par défaut la dernière)
-y ou --yesMode non interactif
bash
# Afficher uniquement la variante recommandée, sans déployer
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- --detect-only

# Forcer la variante trt et ignorer les invites
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- --variant trt -y

# Déploiement hors ligne (copiez d'abord l'archive tar.gz de l'image sur la machine via scp)
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh -o install.sh
bash install.sh --offline /path/to/skyview-image.tar.gz
Quelques exemples courants

Besoin d'un accès via un domaine public

Si vous placez Caddy / Nginx devant pour la terminaison HTTPS + un domaine personnalisé, le script vous demandera de manière interactive votre domaine et le protocole (http/https) et écrira automatiquement la configuration. Pour un déploiement purement en réseau local, choisissez simplement N et accédez-y via http://<IP du serveur>:23406 dans le navigateur.

Déploiement par plateforme (choisissez votre appareil)

Le script en une ligne est le plus simple sur un environnement Linux + Docker générique, mais les NAS, HA OS, PVE et plateformes similaires ont chacun leur propre interface de gestion de conteneurs, leur mode réseau, leur méthode de passthrough iGPU et leurs pièges connus. Voici des guides dédiés pour les plateformes cibles courantes, incluant le fichier compose spécifique à chaque plateforme, le chemin de déploiement via l'interface, la configuration du pare-feu et les questions fréquentes :

  • Synology DSM 7.2+ — Container Manager + modèles à iGPU Intel (DS920+ / DS423+ / DS224+, etc.)
  • Unraid 6.12+ — Compose Manager + plugin Intel GPU TOP / NVIDIA Driver
  • fnOS — base Debian 12 + iGPU intégré sur N100/N305
  • UGREEN UGOS Pro — modèles x86 (DXP2800/DXP4800/DXP6800, etc.)
  • TrueNAS Scale 24.10+ — YAML d'application personnalisée + persistance de dataset ZFS
  • Ubuntu / Debian — apt + docker compose v2, le chemin de déploiement le plus simple
  • Fedora 39+ — dnf docker-ce + étiquettes de volume SELinux + règles firewalld
  • Proxmox VE LXC — LXC privilégié + passthrough iGPU Intel (choix numéro un pour les utilisateurs PVE N100 / N305 à domicile)
  • Module complémentaire Home Assistant OS — ajoutez le dépôt SkyView et installez en un clic le module yunkan / yunkan-openvino
  • Carte RK3588 — un mini boîtier ARM basse consommation avec accélération NPU Rockchip (Orange Pi 5 / Radxa Rock 5, etc.) ; carte 4 Go recommandée, 8 Go+ expérimental

Vous ne trouvez pas votre plateforme ?

Le guide Ubuntu / Debian couvre en réalité 99 % des distributions Linux (CentOS Stream / Rocky / Arch / openSUSE, etc. — il suffit de remplacer apt install par le gestionnaire de paquets approprié). Pour les systèmes basés sur SELinux (CentOS / Rocky / Alma), suivez la gestion des étiquettes de volume :Z du guide Fedora.

Déploiement manuel (avancé)

Si vous souhaitez contrôler le processus étape par étape, suivez les 4 étapes ci-dessous. Le script en une ligne n'est essentiellement que ces commandes automatisées.

  1. 1

    Télécharger l'image

    Choisissez l'une des quatre variantes ci-dessus :

    bash
    docker pull registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
  2. 2

    Créer les répertoires data / recordings

    Les petites données d'état (base de données / cookies / journaux) résident dans data/ ; les enregistrements (pouvant atteindre l'échelle du To) vont dans un répertoire recordings/ voisin, afin que vous puissiez les diriger séparément vers un disque volumineux / NAS.

    bash
    mkdir -p ~/skyview/data ~/skyview/recordings && cd ~/skyview
  3. 3

    Démarrer le conteneur

    Utilisez le mode réseau hôte pour que les caméras atteignent directement les ports de l'hôte, évitant que le NAT ne dégrade la qualité vidéo. La liaison de licence nécessite de monter /etc/machine-id et product_uuid — ne les omettez pas.

    bash
    docker run -d --name yunkan --restart=always \
      --network host \
      -v $(pwd)/data:/app/data \
      -v $(pwd)/recordings:/app/data/recordings \
      -v /etc/machine-id:/etc/machine-id:ro \
      -v /sys/class/dmi/id/product_uuid:/sys/class/dmi/id/product_uuid:ro \
      registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
  4. 4

    Ouvrir le navigateur

    La première visite mène à l'assistant /setup ; poursuivez avec le chapitre Premier lancement.

    http://<IP du serveur>:23406

Les informations matérielles doivent être montées

La licence est liée au matériel de cette machine. Si vous ne montez que data et non ces deux fichiers, l'empreinte matérielle change à la prochaine reconstruction du conteneur et la licence devient invalide.

Ports et mappage des volumes

SkyView fonctionne en mode réseau hôte, donc tous les ports sont liés directement sur l'hôte. Les ports de production utilisent un décalage inhabituel dans la plage 2xxxx pour éviter les conflits avec un nginx existant sur 80/443, redis sur 6379, ou d'autres services sur 8080/8554/8888.

PortUtilitéRequis ?
23406 / TCPConsole web + API de l'applicationRequis (peut aussi être placé derrière un proxy inverse pour le HTTPS)
23880 / TCPSortie RTSP directe (pour VLC / NVR tiers)Optionnel
24214 / TCPLecture + vue en direct de secoursRecommandé
24215 / TCPVue en direct (signalisation du canal à faible latence)Recommandé
23515 / UDPVue en direct (audio/vidéo du canal à faible latence)Recommandé ; sans lui, le flux repasse automatiquement sur 24214 (la latence passe à 2-4 s)
Chemin dans le conteneurUtilitéRecommandation
/app/dataPetites données d'état : base de données / configuration / cookies / journauxÀ monter obligatoirement, persiste entre les conteneurs
/app/data/recordingsEnregistrements (échelle du To, imbriqué sous /app/data)À monter obligatoirement, peut pointer vers un disque volumineux / NAS ; les modèles sont intégrés à l'image, aucun montage nécessaire
/etc/machine-idEmpreinte matérielle 1/2À monter obligatoirement en lecture seule
/sys/class/dmi/id/product_uuidEmpreinte matérielle 2/2À monter obligatoirement en lecture seule

Mise à niveau

Le plus simple : mise à niveau en un clic depuis la console web. Ouvrez Console web → Paramètres → Système → Rechercher les mises à jour, puis cliquez sur « Mettre à niveau » lorsqu'une nouvelle version apparaît : le système télécharge la nouvelle image et recrée le conteneur automatiquement (la base de données est sauvegardée au préalable, et si la nouvelle version ne démarre pas, un retour arrière automatique est effectué). La page se reconnecte à la nouvelle version en quelques minutes.

Vous pouvez aussi mettre à niveau manuellement via SSH :

bash
cd ~/skyview
docker compose -f compose.yml pull
docker compose -f compose.yml up -d

Ou relancez le script en une ligne (avec -y pour ignorer les invites) :

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

Les données migrent automatiquement

Les mises à niveau du schéma de base de données s'exécutent automatiquement au démarrage du conteneur — aucune étape manuelle. Nous recommandons de faire d'abord une sauvegarde avec tar -czf data-backup-$(date +%F).tar.gz data/.

Désinstallation

bash
cd ~/skyview
docker compose -f compose.yml down
docker rmi registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
# Les enregistrements / la base de données sont conservés ; pour un nettoyage complet :
rm -rf ~/skyview

La suppression du répertoire de données est irréversible

Il contient la base de données, la bibliothèque de visages, les enregistrements et les informations de connexion 115. Avant de supprimer, assurez-vous que chaque enregistrement dont vous avez besoin a été téléchargé ou envoyé dans le cloud.
Installation - Documentation SkyView