Installer Unifi Protect sur un NAS Synology (Docker)

Ubiquiti est une entreprise américaine créée en 2005. Elle propose un large panel de produits autour de la sécurité, du réseau ou de la VoIP (Voix sur Ip) pour les entreprises et les particuliers.

Elle propose avec la vente de ses produits ses propres systèmes d’exploitation (OS), pour configurer et profiter au mieux des ses équipements.

La société propose ses OS installés directement sur des produits qu’elle vend (UDM-Pro, Cloud Key, etc) mais elle offre aussi la possibilité de gérer nous-même l’installation de certains OS sur un serveur personnel. Mauvaise pioche pour nous, Unifi Protect n’est pas disponible pour une installation sur un équipement standard. Afin d’éviter l’achat d’un serveur Ubiquiti, certains on eu la brillante idée de créer un conteneur Docker qui contient l’OS.

Temps de réalisation du tutoriel : ~20 minutes

1 – Prérequis

  • Avoir un Nas Synology avec l’application Docker installée
  • Un accès SSH au Nas en local ou à distance
  • Un accès root au Nas (propriétaire/ groupe administrateur)

2 – Préparer l’installation Docker

Afin de gérer au mieux le conteneur Docker, il suffit d’aller dans l’application Docker de votre nas et dans l’onglet “Registre”, de taper le nom du conteneur suivant :

unifi-protect-x86

Vous devez choisir celui qui se nomme : markdegroot/unifi-protect-x86

Lien vers le support officiel : Projet Github (lien)

Image Docker : markdegroot/unifi-protect-x86

Un fois l’image est en train de se télécharger il va falloir faire encore quelques étapes pour préparer l’installation du conteneur.

Il va falloir créer deux dossiers (sous File Station ou en SSH) sous le volume de votre choix mais accessible par Docker :

  • unifi-protect-db
  • unifi-protect
Création des deux fichiers dans File Station

Une fois les deux dossiers créés, il va falloir changer le propriétaire des dossiers. Tout ça se passe en SSH.

Ouvrez une connexion SSH sur votre nas avec le terminal ou une application (ex: PuTTY):

Exemple sous MacOS :

ssh [email protected] -p 22

Une fois connecté, passez en root pour avoir accès à la commande chown.

sudo -s
Password : taperVotreMotDePasse

A partir de là il ne reste plus qu’a utiliser la commande chown pour changer le propriétaire des deux fichiers créés.

Récupérez le chemin d’accès à vos deux dossiers (clique droit, propriétés sous File Station)

Tapez un à un les deux commandes ci-dessous en changeant les chemins :

chown 999:999 /volume3/docker/unifi-protect
chown 101:103 /volume3/docker/unifi-protect-db

Normalement il ne reste plus qu’a vérifier le changement avec la commande :

ls -ltr

Vous devriez avoir exactement comme l’image ci-dessous pour les deux fichiers :

Changement de propriétaires pour le deux dossiers

3 – Paramètre du conteneur Docker

Maintenant que vous avez fini la création des deux fichiers, il ne reste plus qu’a faire le paramétrage du conteneur Docker avant de le lancer.
Pour cela vérifiez que le téléchargement de l’image est terminé dans votre application Docker sur votre nas :

Image du conteneur unifi-protect-x86, téléchargée

Si tout est bon, il ne reste plus qu’à définir les paramètres du docker.

Ouvrez un éditeur de code (exemple codEditor/ Sublime text, etc) et copiez le code ci dessous.

Changez ce qu’il se trouve entre les “$” (dollars compris) par vos chemins des deux fichiers :

docker run -d \
    --name unifi-protect-x86  \
    --tmpfs /srv/unifi-protect/temp \
    --network="host" \
    -v $CheminUnifiProtectDB$:/var/lib/postgresql/10/main \
    -v $CheminUnifiProtect$:/srv/unifi-protect \
    markdegroot/unifi-protect-x86:latest

Exemple :

docker run -d \
    --name unifi-protect-x86  \
    --tmpfs /srv/unifi-protect/temp \
    --network="host" \
    -v /volume3/docker/unifi/unifi-protect-db:/var/lib/postgresql/10/main \
    -v /volume3/docker/unifi/unifi-protect:/srv/unifi-protect \
    markdegroot/unifi-protect-x86:latest

Une fois les paramètres changés il ne reste plus qu’à copier ce code dans la console en SSH, et d’appuyer sur “Entrée”.

Création du conteneur Docker

Le conteneur va se créer sous le nom défini dans les paramètres : unifi-protect-x86.

Vous retrouverez dans la vue “conteneur” de l’application Docker votre conteneur lancé depuis x minutes.

Vue du conteneur unifi-protect-x86, en cours d’exécution

4 – Lancement de Unifi Protect

Si vous êtes arrivé jusque là c’est que votre conteneur Docker fonctionne correctement.


Il ne vous reste plus qu’a rentrer l’adresse IP de votre Nas avec le port 7443 dans votre navigateur.

https://192.168.1.38:7443

Vous devriez arriver sur une page de création de compte. Renseignez un nom d’utilisateur et un mot de passe et c’est terminé !

Page local de Unifi Protect V1.20

Il ne vous reste plus qu’à ajouter vos cameras.

Pour en savoir plus sur comment ajouter une caméra et pour profiter en même du test de la Ubiquiti G3 Instant, allez voir cet article : Test de la caméra Ubiquiti G3 Instant.


Marc 🐥
Fondateur de ilyaptech


Entrepreneur, passionné de tech, j’aime toucher à tout et tester pleins de choses. Jamais loin des nouveautés surtout quand ça concerne la tech ou l’automobile. Apple addict à mes heures perdues.

Merci à vous.

N’hésitez pas à intervenir si vous avez des questions dans les commentaires.

⚠️ : Les commentaires doivent rester courtois et agréable.

S’abonner
Notification pour
guest

4 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
nicolas
nicolas
10 mois il y a

Merci, les explications sont vraiment claires. Un accès à distance est il possible avec l’appli de chez Unifi? Si oui, quelles redirections de port effectuer?
Merci.
Nicolas.

Laurence Laforest
Laurence Laforest
3 mois il y a

Bonjour merci pour les instructions. Tout a fonctionné et j’ai même pu inclure mon certificat SSL et j’ai ouvert le port 7443 sur l’extérieur en le faisant pointer sur l’IP de mon Synology. Donc avec mon FQDN:7443, dans un browser j’arrive dans le protect controller en HTTPS! 🙂
Je n’ai pas encore reçu ma G4 Doorbell mais en attendant, je ne suis pas capable d’utiliser l’app mobile sur mon iphone. Console discovery ne voit rien, null part je ne peux manuellement spécifier l’IP et le port du protect controller comme on peut le faire avec le network controller.
Est-ce qu’il me manque une étape? Le port 443 dans mon router n’est pas forwardé pour l’instant, je n’ai pas de reverse proxy dans mon Synology. Mon network controller est sur 8443 et tout fonctionne bien. J’ai un USG, un switch et 3 AP qui fonctionnent à merveille!

Mon but ultime serait que l’app mobile se connecte sur mon protect controler local et que je puisse désactiver le cloud connection comme je l’ai fait pour le network controller. J’aime l’idée que rien de mon réseau ou de mes caméras se retrouve dans le cloud.

Merci!
Laurence.