[{"data":1,"prerenderedAt":148},["ShallowReactive",2],{"seo-verification":3,"blog-frigate-nvr-surveillance-self-hosted-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-frigate-nvr-surveillance-self-hosted-vps-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":92,"ctaBody":93,"ctaButton":94,"ctaUrl":95,"relatedPosts":96},406,"frigate-nvr-surveillance-self-hosted-vps",{"fr":10,"en":12,"ar":13,"es":14},"frigate-nvr-self-hosted-vps","frigate-nvr-مراقبة-self-hosted-vps","frigate-nvr-vigilancia-self-hosted-vps","Frigate NVR v0.18 : surveillance IP self-hosted sur VPS","Déployez Frigate NVR v0.18 sur un VPS Linux : surveillance IP avec détection d'objets IA 100 % locale, sans cloud ni abonnement. Guide complet Docker, GUI et dépannage.",11,0,false,"2026-10-02T00:00:00+00:00","2026-10-02T14:03:20+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Ffrigate-nvr-surveillance-self-hosted-vps-poster.svg","Frigate NVR est un enregistreur vidéo réseau open source qui associe la gestion des flux de caméras IP à une détection d'objets par intelligence artificielle tournant entièrement sur votre propre infrastructure. La version 0.18 abandonne la configuration YAML obligatoire au profit d'une interface graphique complète, ce qui ouvre le déploiement sur VPS à un public bien plus large que les seuls administrateurs système. Vos enregistrements et vos alertes restent sur votre machine, sans aucun abonnement récurrent.",[35,39,51,54,79,82,86,89],{"type":36,"title":37,"body":38},"h2","Surveillance locale ou cloud propriétaire : pourquoi héberger son NVR","Les solutions de surveillance vidéo en SaaS — Reolink Cloud, Synology Surveillance Station connectée à des relais propriétaires, Amazon Ring — enregistrent vos flux sur des serveurs tiers. En échange d'un abonnement mensuel, vous obtenez une application mobile, du stockage distant et de la détection d'événements. Ce que vous cédez, c'est la maîtrise de ce qui se passe devant vos caméras.\n\nHéberger son propre NVR sur un VPS, c'est inverser la logique : vos flux ne quittent jamais votre infrastructure, la détection d'objets (personnes, véhicules, animaux) tourne localement sans envoyer d'image à un service tiers, et les enregistrements sont stockés sur des volumes que vous contrôlez. Aucun abonnement ne vient indexer cette fonctionnalité.\n\nFrigate NVR est la référence open source dans cette catégorie. Il reçoit les flux RTSP ou RTMP de vos caméras IP, découpe des clips sur les événements détectés, conserve des instantanés et expose une API REST consommable par Home Assistant ou n'importe quelle automatisation. La version 0.18, publiée en septembre 2026, remplace le fichier `config.yml` obligatoire par une interface graphique complète : vous configurez caméras, zones de détection et seuils depuis un navigateur, sans jamais toucher au YAML si vous ne le souhaitez pas.",{"type":40,"title":41,"items":42},"ul","Les bénéfices concrets de Frigate self-hosted sur VPS",[43,44,45,46,47,48,49,50],"Flux vidéo et enregistrements 100 % locaux : aucun tiers n'a accès à vos images.","Détection d'objets par IA (personnes, véhicules, animaux) tournant sur votre propre CPU, sans quota ni limitation d'API.","Zéro abonnement récurrent : vous payez votre VPS, pas une licence de détection.","Intégration native avec Home Assistant via MQTT et l'API REST Frigate.","Clips d'événements, instantanés et timeline consultables depuis l'interface web Frigate.","Compatibilité avec la quasi-totalité des caméras IP du marché via le protocole RTSP standard.","Zones de détection configurables par caméra pour filtrer les fausses alertes (rue, voisin, arbre).","Configuration entièrement en GUI depuis la v0.18 — le YAML reste possible mais n'est plus obligatoire.",{"type":36,"title":52,"body":53},"Prérequis chiffrés : dimensionner votre VPS pour Frigate","Frigate est une application CPU-intensive en mode sans accélérateur matériel. La détection d'objets repose sur un modèle TensorFlow Lite qui s'exécute sur chaque image analysée. Les chiffres ci-dessous correspondent au mode CPU-only, le seul disponible sur un VPS standard.\n\n**Pour 1 à 2 caméras en 1080p** : 2 vCPU et 2 Go de RAM constituent le minimum fonctionnel. La détection tournera, mais avec un délai perceptible sur les événements. Fréquence d'analyse recommandée : 5 images par seconde maximum.\n\n**Pour 3 à 5 caméras en 1080p** : 4 vCPU et 4 Go de RAM offrent une marge confortable. Frigate peut maintenir une analyse à 5 ips par caméra sans saturation. Le plan VPS Power (4 vCPU \u002F 8 GB Go RAM) constitue un plancher réaliste pour ce cas d'usage.\n\n**Pour plus de 5 caméras ou une fréquence d'analyse élevée** : 6 à 8 vCPU et 8 Go de RAM ou plus. L'accélération matérielle via un Coral TPU USB (si votre fournisseur autorise le passthrough USB) ou un GPU réduit drastiquement la charge CPU, mais n'est pas disponible sur un VPS hébergé classique.\n\n**Stockage** : chaque caméra en 1080p génère en moyenne 1 à 3 Go par heure en mode enregistrement continu, selon la compression H.264 ou H.265. Pour 24 h par caméra en mode événementiel (Frigate ne conserve que les clips d'activité), comptez 5 à 15 Go par caméra et par jour selon la fréquence de mouvement. Prévoyez un volume extensible ou un stockage objet monté.\n\n**Réseau** : chaque flux RTSP entrant consomme entre 1 et 4 Mbit\u002Fs selon la résolution et le codec. Une caméra 1080p H.264 tourne typiquement entre 1,5 et 2,5 Mbit\u002Fs. Vérifiez la bande passante incluse de votre plan.\n\n**Logiciels requis** : Docker Engine 24+ et Docker Compose v2, un accès root au VPS, un sous-domaine DNS pointant vers l'IP du serveur pour l'accès HTTPS, et un reverse proxy (Nginx Proxy Manager, Caddy ou Traefik) pour la terminaison TLS.",{"type":55,"title":56,"steps":57},"steps","Déployer Frigate NVR avec Docker Compose",[58,61,64,67,70,73,76],{"title":59,"body":60},"Créer l'arborescence de configuration","Connectez-vous à votre VPS en SSH et créez la structure de répertoires que Frigate utilisera pour sa configuration, ses enregistrements et ses instantanés :\n\n```bash\nmkdir -p \u002Fopt\u002Ffrigate\u002F{config,storage\u002Frecordings,storage\u002Fclips,storage\u002Fexports}\ncd \u002Fopt\u002Ffrigate\n```\n\nFrigate attend son fichier de configuration dans `\u002Fopt\u002Ffrigate\u002Fconfig\u002Fconfig.yml`. Avec la v0.18, ce fichier peut rester minimal au démarrage — la GUI complète la configuration ensuite.",{"title":62,"body":63},"Créer une configuration de démarrage minimale","Créez un fichier `\u002Fopt\u002Ffrigate\u002Fconfig\u002Fconfig.yml` avec le contenu suivant. Ce fichier indique à Frigate où stocker les données ; les caméras et les paramètres de détection seront ajoutés via l'interface graphique :\n\n```yaml\nmqtt:\n  enabled: false\n\nrecord:\n  enabled: true\n  retain:\n    days: 7\n    mode: motion\n\nsnapshots:\n  enabled: true\n  retain:\n    default: 10\n\ndetectors:\n  cpu1:\n    type: cpu\n    num_threads: 3\n```\n\nLa clé `detectors` déclare un détecteur logiciel sur CPU. `num_threads` contrôle la parallélisation : 3 threads est un bon équilibre pour 2 à 4 caméras. Augmentez-le si vous avez davantage de vCPU disponibles.",{"title":65,"body":66},"Rédiger le fichier Docker Compose","Créez `\u002Fopt\u002Ffrigate\u002Fdocker-compose.yml` avec la configuration suivante :\n\n```yaml\nservices:\n  frigate:\n    container_name: frigate\n    image: ghcr.io\u002Fblakeblackshear\u002Ffrigate:stable\n    restart: unless-stopped\n    shm_size: \"256mb\"\n    volumes:\n      - \u002Fopt\u002Ffrigate\u002Fconfig:\u002Fconfig\n      - \u002Fopt\u002Ffrigate\u002Fstorage:\u002Fmedia\u002Ffrigate\n      - \u002Fetc\u002Flocaltime:\u002Fetc\u002Flocaltime:ro\n    ports:\n      - \"5000:5000\"\n      - \"8554:8554\"\n      - \"8555:8555\u002Ftcp\"\n      - \"8555:8555\u002Fudp\"\n    environment:\n      FRIGATE_RTSP_PASSWORD: \"changeme\"\n    devices:\n      - \u002Fdev\u002Fdri:\u002Fdev\u002Fdri\n```\n\nLes ports exposés : **5000** pour l'interface web et l'API REST, **8554** pour le serveur RTSP interne (repartage des flux traités), **8555** TCP et UDP pour le WebRTC (lecture vidéo en temps réel dans le navigateur). La variable `FRIGATE_RTSP_PASSWORD` sera référenceable dans vos URLs de caméra comme `{FRIGATE_RTSP_PASSWORD}`. Le bloc `devices` permet l'accélération GPU sur les VPS qui l'exposent — retirez-le si l'iGPU n'est pas disponible.",{"title":68,"body":69},"Démarrer Frigate et vérifier les journaux","Depuis le répertoire `\u002Fopt\u002Ffrigate`, lancez le conteneur et surveillez les journaux de démarrage :\n\n```bash\ndocker compose up -d\ndocker compose logs -f frigate\n```\n\nAu premier démarrage, Frigate télécharge le modèle de détection TensorFlow Lite (~6 Mo) et initialise sa base SQLite. L'opération prend 30 à 90 secondes. Le log doit afficher `Frigate is running` et la résolution de chaque flux déclaré. Si une caméra ne s'ouvre pas, la ligne `Failed to connect to camera` identifiera le flux problématique.\n\nAccédez à l'interface à l'adresse `http:\u002F\u002F\u003Cip-de-votre-vps>:5000` pour la vérification initiale (le HTTPS sera configuré à l'étape suivante).",{"title":71,"body":72},"Configurer un reverse proxy pour l'accès HTTPS","Frigate ne gère pas TLS nativement. Configurez Nginx comme reverse proxy. Si Nginx est déjà installé sur le VPS, créez `\u002Fetc\u002Fnginx\u002Fsites-available\u002Ffrigate` :\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name frigate.yourdomain.com;\n\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Ffrigate.yourdomain.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Ffrigate.yourdomain.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:5000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_read_timeout 86400;\n    }\n}\n```\n\nObtenez un certificat Let's Encrypt avec `certbot --nginx -d frigate.yourdomain.com`. La directive `proxy_read_timeout 86400` est nécessaire pour les flux WebRTC longue durée.",{"title":74,"body":75},"Ajouter vos caméras via la GUI Frigate v0.18","Ouvrez l'interface Frigate dans votre navigateur. La v0.18 propose un assistant d'ajout de caméra accessible depuis **Configuration → Cameras → Add Camera**. Renseignez :\n\n- **Nom** de la caméra (sans espace ni caractère spécial).\n- **URL RTSP** du flux principal, par exemple `rtsp:\u002F\u002Fadmin:motdepasse@192.168.1.100:554\u002Fstream1`.\n- **Résolution** détectée automatiquement ou spécifiée manuellement.\n- **Profil de détection** : *Standard* pour un équilibre entre précision et charge CPU, *Lightweight* pour les VPS légers.\n\nLa GUI génère et valide le bloc YAML correspondant avant de l'appliquer à la configuration — vous pouvez toujours basculer en mode YAML brut via l'onglet **Advanced** si vous préférez éditer directement.",{"title":77,"body":78},"Vérifier que les enregistrements et la détection fonctionnent","Depuis le tableau de bord Frigate, naviguez vers **Events** pour confirmer que les événements de détection sont bien générés. Vérifiez l'onglet **Recordings** pour valider que les fichiers mp4 sont écrits dans `\u002Fopt\u002Ffrigate\u002Fstorage\u002Frecordings\u002F`.\n\nSur le VPS, contrôlez la charge CPU en temps réel :\n\n```bash\ndocker stats frigate\n```\n\nFrigate affichera l'utilisation CPU du conteneur. En mode CPU-only avec 2 caméras 1080p et 5 ips d'analyse, attendez-vous à 60 à 90 % d'un vCPU. Ajustez le paramètre `fps` dans la configuration de chaque caméra si la charge est trop élevée : `detect.fps: 2` réduit la fréquence d'analyse sans désactiver la détection.",{"type":36,"title":80,"body":81},"Configurer les caméras et les zones de détection via la GUI","La nouveauté centrale de Frigate v0.18 est son éditeur visuel de zones de détection. Jusqu'à la v0.14, définir une zone obligeait à calculer manuellement des coordonnées de polygone dans le fichier YAML — une tâche fastidieuse qui décourageait les déploiements.\n\nDepuis la v0.18, l'onglet **Zones** de chaque caméra affiche l'image en direct et vous permet de tracer des polygones directement à la souris. Chaque zone reçoit un nom (ex : `entree`, `jardin`, `rue`) et des filtres d'objets — vous pouvez indiquer que la zone `rue` doit ignorer les personnes mais alerter sur les véhicules, ou que la zone `entree` doit déclencher une notification dès qu'une personne entre dans le périmètre.\n\n**Masques de mouvement** : la même interface permet de dessiner des masques sur les zones générant trop de faux positifs — un arbre qui bouge dans le vent, un luminaire qui clignote. Le masque empêche Frigate d'analyser ces pixels pour la détection, sans affecter l'enregistrement.\n\n**Seuils de confiance** : chaque objet détectable (person, car, dog, cat, bird…) dispose d'un seuil de confiance ajustable entre 0 et 1. La valeur par défaut de 0,5 est raisonnable ; descendre à 0,35 augmente la sensibilité au prix de davantage de fausses alertes.\n\n**Configuration des notifications** : Frigate s'intègre à Home Assistant via MQTT ou son API REST. Sans Home Assistant, vous pouvez envoyer des alertes vers n'importe quel webhook via `notify.webhook` ou exploiter les clips d'événements directement depuis l'interface.",{"type":83,"title":84,"body":85},"tip","Durcir l'accès à l'interface web Frigate","L'interface Frigate n'embarque pas de système d'authentification dans sa version stable. Exposée directement sur Internet, elle est accessible sans mot de passe. Trois mesures complémentaires à appliquer avant de rendre le sous-domaine public :\n\n**Authentification HTTP Basic via Nginx** : ajoutez `auth_basic` et `auth_basic_user_file` dans le bloc `location` du virtual host Nginx. Générez le fichier de mots de passe avec `htpasswd -c \u002Fetc\u002Fnginx\u002F.htpasswd votre_utilisateur`.\n\n**Restriction IP** : si vous accédez à Frigate depuis une IP fixe (bureau, VPN), ajoutez `allow 203.0.113.x; deny all;` dans le bloc `location` de Nginx pour bloquer tout accès extérieur.\n\n**Accès VPN uniquement** : la solution la plus robuste. Déployez WireGuard sur le même VPS (ou un VPS dédié) et ne laissez le port 5000 accessible qu'en local ou via le tunnel VPN. L'interface n'est alors jamais exposée directement sur Internet, et aucun reverse proxy n'est nécessaire pour la protéger.",{"type":36,"title":87,"body":88},"Dépannage : les erreurs fréquentes","**`Failed to connect to camera: Connection refused` ou timeout au démarrage**\nFrigate ne peut pas atteindre le flux RTSP. Vérifiez d'abord que l'URL RTSP est correcte en la testant avec `ffprobe` depuis le VPS : `ffprobe -v quiet -print_format json -show_streams rtsp:\u002F\u002F...`. Si la caméra est sur un réseau privé distinct du VPS, elle n'est pas joignable directement — vous avez besoin d'un tunnel ou d'un relais RTSP.\n\n**`ffmpeg process crashed` en boucle dans les logs**\nLe plus souvent : codec non supporté (H.265 \u002F HEVC sur une installation Docker sans libaries facultatives) ou résolution trop élevée pour la bande passante disponible. Solution : forcer le transcodage en entrée en ajoutant `input_args: preset-rtsp-restream` dans la configuration de la caméra, ou réduire la résolution côté caméra à 1280×720.\n\n**`Insufficient shared memory` au démarrage du conteneur**\nFrigate utilise la mémoire partagée Linux pour partager les frames entre ses processus. L'erreur signifie que `shm_size` est trop faible. Règle générale : 256 Mo pour 2 caméras, 512 Mo pour 4, 1 Go pour 8+. Ajustez la directive `shm_size` dans `docker-compose.yml` en conséquence.\n\n**`Database is locked` ou crashs aléatoires**\nFrigate utilise SQLite, qui supporte mal les volumes réseau (NFS, CIFS). Si vous montez `\u002Fopt\u002Ffrigate\u002Fstorage` depuis un stockage réseau, déplacez uniquement la base SQLite sur un volume local : `db_path: \u002Ftmp\u002Ffrigate.db` dans la configuration. Les enregistrements, eux, peuvent rester sur le volume distant.\n\n**La détection ne se déclenche pas malgré des mouvements visibles**\nVérifiez d'abord que la zone de détection couvre bien la région d'intérêt dans l'éditeur visuel. Ensuite, consultez l'onglet **Debug** de la caméra dans la GUI : il superpose les rectangles de détection en temps réel sur le flux. Si aucun rectangle n'apparaît, le modèle tourne mais ne trouve rien — le seuil de confiance est peut-être trop élevé ou les objets trop petits dans le champ de la caméra.",{"type":36,"title":90,"body":91},"Pour aller plus loin","Frigate NVR transforme un VPS standard en station de surveillance souveraine. La détection d'objets tourne localement, vos enregistrements restent sur vos volumes, et la v0.18 rend cette installation accessible sans expertise YAML.\n\nSi vous étendez votre stack self-hosted, les articles ci-dessous couvrent des services complémentaires que Frigate s'intègre bien à piloter depuis un tableau de bord centralisé : \u003Ca href=\"\u002Fblog\u002Fheberger-jellyfin\">Jellyfin pour votre médiathèque\u003C\u002Fa>, \u003Ca href=\"\u002Fblog\u002Fheberger-pi-hole\">Pi-hole pour le filtrage DNS\u003C\u002Fa> et \u003Ca href=\"\u002Fblog\u002Fheberger-homepage\">Homepage comme tableau de bord de tous vos services\u003C\u002Fa>. un VPS Power couvre la majorité des configurations à 3 à 5 caméras en mode CPU-only, avec de la marge pour les autres conteneurs de la stack.","Un VPS pour votre NVR Frigate","Accès root, IPv4 dédiée, choix d'OS — vos flux de caméras traités localement, sans abonnement cloud ni accès fabricant. Plans à partir de 99 DH\u002Fmois.","Déployer Frigate sur mon VPS","\u002Fvps-cloud",[97,117,132],{"id":98,"slug":99,"slugs":100,"title":104,"excerpt":105,"readTime":106,"views":107,"isPinned":19,"publishedAt":108,"updatedAt":109,"category":110,"categories":111,"featuredImage":30,"bgImage":31,"posterImage":113,"relatedSolution":114},84,"heberger-jellyfin",{"fr":99,"en":101,"ar":102,"es":103},"host-jellyfin-on-your-own-vps","استضافة-jellyfin-على-خادمك-الافتراضي-الخاص-vps","alojar-jellyfin-en-un-vps","Héberger Jellyfin sur VPS : guide complet 2026","Déployez Jellyfin self-hosted sur VPS avec Docker, nginx HTTPS, plugins, stockage et transcodage. Guide 2026 face à la hausse des tarifs Plex.",10,5,"2026-03-28T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[112],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-jellyfin-poster.svg",{"categorySlug":115,"appSlug":116},"collaboration","jellyfin",{"id":118,"slug":119,"slugs":120,"title":124,"excerpt":125,"readTime":106,"views":18,"isPinned":19,"publishedAt":126,"updatedAt":127,"category":128,"categories":129,"featuredImage":30,"bgImage":31,"posterImage":131,"relatedSolution":30},91,"heberger-pi-hole",{"fr":119,"en":121,"ar":122,"es":123},"hosting-pi-hole-on-your-own-vps","استضافة-pi-hole-على-خادم-vps-الخاص-بك","alojar-pi-hole-en-un-vps","Héberger Pi-hole sur votre propre VPS","Guide complet pour déployer Pi-hole v6 sur un VPS : installation, résolution du conflit port 53, Unbound pour la récursion DNS, whitelisting, métriques et sauvegarde.","2026-03-21T00:00:00+00:00","2026-09-24T12:27:51+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[130],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-pi-hole-poster.svg",{"id":133,"slug":134,"slugs":135,"title":139,"excerpt":140,"readTime":23,"views":141,"isPinned":19,"publishedAt":142,"updatedAt":143,"category":144,"categories":145,"featuredImage":30,"bgImage":31,"posterImage":147,"relatedSolution":30},92,"heberger-homepage",{"fr":134,"en":136,"ar":137,"es":138},"hosting-homepage-on-your-own-vps","استضافة-homepage-على-خادم-vps-الخاص-بك","alojar-homepage-en-un-vps","Héberger Homepage sur votre propre VPS","Déployez Homepage, le dashboard open-source, sur VPS avec Docker. Guide complet : YAML, widgets, reverse proxy Caddy\u002FTraefik, SSL, sécurité et sauvegarde.",2,"2026-03-20T00:00:00+00:00","2026-09-19T02:00:43+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[146],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-homepage-poster.svg",1790987697309]