Ça va finir par devenir une obsession, mais après le post de découverte de Frigate et Frigate+, celui de présentation du système de notification sur un groupe Signal et le dernier concernant la mise en place d’un serveur dédié à base de N150, voilà un post et une image qui résume à lui tout seul mon système complet de vidéosurveillance basé sur Frigate et Frigate+ qui arrive à peu près à maturité.

Frigate tourne sur un mini PC dédié accessible d’internet avec connexion chiffrée via un certificat Let’s Encrypt le tout géré par traefik qui gère également l’authentification, les deux tournent sous l’outil de conteneurisation docker. Localement ce mini PC se nomme Cerbere, il est assisté d’un poste secondaire nommé Ultra qui sert à gérer une caméra bas coût dont l’adresse RTSP fluctue régulièrement et sur lequel tourne également un serveur apache httpd. Cerbere utilise une clé Google Coral TPU pour accélérer l’exploitation des modèles d’apprentissage. Six caméras IP sont connectées au total réparties en extérieur, 4 sont en connexion ethernet POE (alimentation par le câble ethernet), 3 utilisent les fonctions PTZ et sont mobiles. Dans les caméras on trouve un visiophone qui est piloté d’un écran lui même connecté en intérieur en ethernet POE, on trouve également une caméra bas coût connecté via un répéteur WIFI qui se trouve dans un local extérieur électrifié.
Physiquement mon système est réparti sur plusieurs zones :
- extérieur : localisation des caméras, qui toutes supportent très bien les intempéries et le cagnard du sud.
- garage : localisation de mon serveur Cerbere et de toutes les arrivées réseau de la maison avec un switch classique sur lequel est brassé les câbles RJ45 qui desservent les différentes pièces de la maison (et qui ont remplacé les câbles téléphoniques) et un switch POE pour les caméras.
- mezzanine : localisation de ma box, de mon routeur et de mon autre serveur Ultra.
- local extérieur : localisation d’un répéteur WIFI pour étendre la portée d’une caméra.
- cuisine : localisation de l’écran du visiophone dont la caméra est intégrée au système.
Il y a pléthore de caméras IP sur le marché, les moins chères sont souvent des modèles chinois liées à une application qui fonctionne sous Android et à la sécurité plus que douteuse. Les critères de choix sont :
- caméras qui génèrent un flux vidéo RTSP avec une adresse fixe et qui vont s’intégrer très facilement à ZoneMinder ou Frigate. Des sites comme ipcamlive ou ispyconnect recensent les caméras par marque ayant une adresse RTSP fixe. Malgré ça, comme je n’avais pas intégré ce critère initialement, j’ai une caméra dont l’adresse RSTP change régulièrement, ce n’est pas insurmontable mais ça complexifie l’installation car il faudra mettre en place des scripts qui vont rendre l’adresse fixe pour ZoneMinder ou Frigate.
- caméras configurables en se connectant en indiquant leur adresse IP dans un navigateur sans avoir à passer par une application. Pour les caméras bas coût, j’ai dû néanmoins passer par l’application Android pour pouvoir les paramétrer.
- paramètres d’administration qui permettent de changer les paramètres réseau pour les connecter à un réseau local, les caméras ne doivent pas directement accessibles sur internet mais uniquement via Frigate ou ZoneMinder
- ce n’est pas strictement obligatoire, mais c’est mieux que la caméra puisse se connecter en ethernet POE ça permet d’avoir un seul fil (pas de câble d’alimentation, tout passe par le câble ethernet), sur de longues distances, (mon câble le plus long fait 30m)avec une connexion fiable et de bonne qualité. J’ai néanmoins deux caméras bas coût qui ne sont pas POE et qui sont alimentées avec un câble d’alimentation en plus d’être connectées par ethernet de manière classique, l’une d’entre elle est à plus d’une cinquantaine de mètre, elle est connectée à un répéteur WIFI dont le choix a été délicat car il me fallait un modèle totalement paramétrable pour les paramètres réseau.
Il existe également un autre acteur qui m’a donné beaucoup de fil à retordre, il s’agit du firewall shorewall. Il faut qu’il soit à la fois très restrictif pour interdire tout accès aux caméras directement via internet mais également qu’il puisse ouvrir les routes au juste besoin pour que Frigate soit accessible en sécurité d’un mobile sur internet via traefik, qui assure la connexion chiffrée avec un certificat validé par let’s encrypt et puisse communiquer avec les bases de données Frigate+. Et je dois avouer que je n’y serais pas arrivé sans l’aide de gemini enfin du moins pas aussi rapidement.
Les pages dédiées sur mon site funix.org :