# Déploiement sur Synology DSM

Les modèles Synology Intel + iGPU (DS920+ / DS423+ / DS1522+ / DS224+, etc.) fonctionnent au mieux avec la variante openvino. Cette page vous guide pas à pas, de l'installation en SSH jusqu'à l'assistant de configuration dans le navigateur. Les modèles AMD/ARM (DS223j / DS723+) n'ont pas de /dev/dri et ne peuvent exécuter que la variante cpu — l'inférence perd un cran, mais les fonctionnalités restent identiques.

## 1. Modèles pris en charge et variante recommandée

| Modèle | CPU | Variante recommandée | Remarques |
| --- | --- | --- | --- |
| DS920+ / DS1522+ / DS923+ | Intel J4125 / R1600 | openvino | iGPU Intel + 4 à 8 flux en 1080p exploitables |
| DS423+ / DS224+ | Intel N100 / N5105 | openvino | iGPU Alder Lake-N, 2 à 4 flux |
| DS1621+ / DS1821+ (Ryzen) | AMD V1500B | cpu | Pas d'iGPU, inférence lente |
| DS223j / DS723+ (ARM) | Realtek / AMD R1600 | **Non pris en charge** | SkyView n'est disponible qu'en amd64 pour les modèles ARM ; le Ryzen n'a pas d'iGPU |

## 2. Prérequis

1. **Vérifier la version de DSM**

   Panneau de configuration → Centre d'informations → version DSM ≥ 7.2 ; mettez à niveau au préalable si nécessaire

2. **Installer Container Manager**

   Recherchez « Container Manager » dans le Centre de paquets et installez-le (il s'appelait Docker dans les versions plus anciennes, renommé à partir de la 7.2)

3. **Créer le répertoire du projet**

   File Station → /docker → créez un dossier nommé yunkan ; le chemin final ressemble à /volume1/docker/yunkan/

4. **Activer SSH**

   Panneau de configuration → Terminal et SNMP → Activer SSH ; vous exécuterez docker compose via SSH plus tard (l'interface graphique de Container Manager ne prend pas en charge le champ devices)

## 3. Récupérer le fichier compose

Choisissez l'une des trois méthodes : téléchargement depuis le navigateur, wget via SSH, ou copier-coller manuel de la version minimale :

[Télécharger compose.yml](/compose/synology.yml)

Modèle Synology DSM 7.2+ · variante openvino · entièrement commenté

Ou via wget directement en SSH sur le Synology :

```bash
ssh admin@<Synology IP>
sudo -i
cd /volume1/docker/yunkan
wget https://yun-kan.com/compose/synology.yml -O compose.yml
```

> **💡 Ou copier-coller (version minimale)**
>
> Si vous préférez ne pas utiliser wget, copiez le compose minimal ci-dessous, puis faites `vi compose.yml`, collez et enregistrez. Le fonctionnement est identique — seuls les commentaires détaillés sont omis.

```yaml
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
    environment:
      - TZ=Asia/Shanghai
      - SKYVIEW_SELF_CONTAINER_NAME=yunkan
```

*compose.yml (minimal, à coller et enregistrer)*

## 4. Démarrer SkyView

```bash
cd /volume1/docker/yunkan
docker compose up -d
# Suivez les journaux de démarrage (Ctrl-C pour quitter) :
docker logs -f yunkan
```

Patientez environ 30 à 60 secondes que mediamtx + redis + api soient prêts, puis ouvrez `http://<Synology IP>:23406/` dans le navigateur pour accéder à l'[assistant de configuration](/docs/quickstart).

## 5. Ports et règles de pare-feu

Sur Synology, les ports 80/443/5000/5001 sont utilisés par défaut par l'interface web de DSM ; SkyView utilise la famille de ports 23406 (décalée dans la plage 2xxxx) pour éviter les conflits. Si vous avez activé **Panneau de configuration → Sécurité → Pare-feu**, vous devez autoriser ces 5 ports :

- **23406/tcp** — Web + API SkyView (obligatoire)
- **23880/tcp** — Sortie RTSP directe (pour VLC / NVR tiers)
- **24214/tcp** — HLS (lecture + secours pour la vue en direct)
- **24215/tcp** — Signalisation WebRTC WHEP
- **23515/udp** — ICE WebRTC (UDP pour la vue en direct ; **sans lui, le flux bascule automatiquement vers HLS, avec une latence de 2 à 4 s**)

## 6. FAQ

> **⚠️ L'interface de Container Manager ne permet pas de configurer le passthrough iGPU**
>
> Dans Container Manager, « Image → Exécuter → Périphérique » ne propose aucune option pour ajouter `/dev/dri`. Vous devez utiliser un fichier compose (ce guide) ou exécuter `docker run --device /dev/dri:/dev/dri ...` via SSH.

> **ℹ️ Repli OpenVINO iGPU sur les modèles DS920+ / N100**
>
> Certains noyaux Synology ont un support incomplet du pilote i915 pour Alder Lake-N, ce qui peut empêcher l'initialisation du plugin GPU OpenVINO → un repli automatique vers l'inférence CPU se produit alors. Si le journal de démarrage de la détection contient « GPU plugin failed, falling back to CPU », c'est le cas — les fonctionnalités restent opérationnelles, juste un peu plus lentes.

> **⚠️ L'activation de la licence renvoie SLOTS_FULL**
>
> Sur certains modèles, product_uuid est vide dans le DMI, si bien que le conteneur lit une valeur vide. SkyView se rabat alors sur le calcul de l'empreinte à partir du seul `/etc/machine-id`, ce qui suffit généralement ; si l'activation échoue toujours, envoyez une capture d'écran du code d'erreur à support@yun-kan.com.

**Mise à jour :** DSM Container Manager restreint l'accès au socket docker, la mise à jour en ligne en un clic depuis la console web n'est donc pas disponible sur Synology (les correctifs incrémentaux ne sont pas affectés). Mettez à jour manuellement : `docker compose pull && docker compose up -d --force-recreate yunkan`.

---

来源:https://yun-kan.com/fr/docs/install-synology
