Installation de Passbolt sur un NAS Synology : un gestionnaire de mots de passe open source
Sommaire
I. Présentation
Le gestionnaire de mots de passe open source Passbolt est installable sur un NAS Synology à l’aide de Docker, en passant par Container Manager. C’est d’ailleurs l’objet de ce tutoriel : vous permettre d’auto-héberger votre gestionnaire de mots de passe multi-utilisateurs.
Si vous souhaitez en savoir plus sur Passbolt, que ce soit sur sa sécurité, son utilisation ou son administration, je vous invite à lire cet article disponible sur IT-Connect :
Pour une autre méthode d’installation, consultez ces autres tutoriels :
II. Installer Passbolt sur Synology
Avant de commencer, assurez-vous que le paquet Container Manager correspondant à Docker est installé sur votre NAS. Pour ceux qui ont besoin d’aide, un tutoriel de prise en main complet de cette application est disponible ici :
A. Créer les répertoires pour les conteneurs
La première étape consiste à créer l’arborescence de dossiers destinée à stocker les données de l’application Passbolt. Commencez par créer un répertoire nommé à la racine du répertoire , en principe déjà existant sur votre NAS.
Au sein même de ce répertoire dédié à l’application, vous devez créer plusieurs sous-répertoires afin d’obtenir l’arborescence suivante :
Voici quelques informations pour vous aider à comprendre l’intérêt de ces dossiers :
- : il sert à stocker les données de la base de données MariaDB.
- : il sert à stocker la paire de clés GPG du serveur Passbolt.
- : il sert à stocker des informations sur les jetons JWT.
Sur votre NAS, vous obtenez ce résultat :

Vous devez ensuite ajuster les permissions sur deux répertoires nommés et , sinon Passbolt ne pourra pas écrire à l’intérieur et le déploiement échouera.
Commencez par le dossier . Accédez aux propriétés, cliquez sur l’onglet “Permission“, puis sous “Options avancées“, choisissez “Rendre les permissions héritées explicites“. Ceci permet de reprendre le contrôle sur les permissions, sans être impacté par l’héritage.

Cliquez ensuite sur le bouton “Créer” pour ajouter de nouvelles permissions. Choisissez l’utilisateur “SYSTEM” puis cochez les cases “Lire” et “Écrire” pour lui donner des permissions de lecture et d’écriture dans ce répertoire. Cliquez sur “Effectué” quand c’est fait.

Ensuite, cochez l’option “Appliquer à ce dossier, ces sous-dossiers et ces fichiers” et sauvegardez.
Répétez la même opération, avec des permissions identiques, pour le dossier .
B. Configurer le reverse proxy
Avant de créer le projet dans Docker, nous allons configurer le reverse proxy de DSM pour publier l’application en HTTPS. Bien entendu, vous pouvez utiliser un autre reverse proxy si vous le souhaitez. Mon objectif est d’accéder à l’application via l’adresse , tout en sachant qu’au niveau du NAS, elle sera accessible via .
Ce nom de domaine a été préalablement configuré dans le DDNS de Synology et un certificat Let’s Encrypt lui a été associé. A ce sujet, vous pouvez consulter cet article pour obtenir de l’aide :
Commencez par accéder à : Panneau de configuration > Portail de connexion > Avancé > Proxy inversé.
Créez une nouvelle entrée avec les paramètres suivants :
- Nom du proxy inversé : passbolt, ou autre chose si vous préférez.
- Source : précisez HTTPS, ainsi que le nom de domaine et le numéro de port correspondant à l’URL finale attendue.
- Activez le HSTS pour plus de sécurité sur les connexions HTTPS.
- Destination : précisez HTTP, puis le nom d’hôte localhost (le reverse proxy et Passbolt sur tous les deux sur le NAS), et précisez le port 3003. Si vous choisissez un autre numéro de port, il faudra adapter la configuration du conteneur par la suite (c’est juste un numéro à changer).
Ce qui donne :

Basculez sur l’onglet “En-tête personnalisé“, et à l’aide du bouton “Créer“, cliquez sur “WebSocket“.

Sauvegardez la configuration. Cette étape est désormais accomplie.
C. Préparer le projet Docker
Ouvrez Container Manager sur l’interface de DSM, puis créez un nouveau projet. Attribuez un nom à ce projet, puis spécifiez comme chemin le dossier créé précédemment, à savoir : . Ensuite, vous allez devoir créer un fichier Docker Compose via cet assistant (ou déposer un fichier existant, nommé correctement, à la racine du dossier Passbolt).

Pour vous proposer un fichier Docker Compose prêt à l’emploi pour Synology, j’ai utilisé comme base le fichier mis à disposition par Passbolt. Vous pouvez le récupérer sur cette page. Au final, voici le fichier complet :
Dans ce fichier, je vous invite à adapter les informations suivantes :
- Le mot de passe associé aux deux champs et . Il sert à faire la connexion à la base de données.
- : l’adresse complète pour atteindre votre instance Passbolt, sans oublier le port s’il y en a un. Il faut être cohérent vis-à-vis de la configuration du reverse proxy.
- : le fuseau horaire, si c’est un autre que celui de la France métropolitaine.
- La valeur pour les ports indique qu’en externe, le conteneur sera en écoute sur le port . Vous pouvez changer, tout en conservant pour l’interne, car c’est une contrainte de l’image non-root de Passbolt. Là encore, il faut être cohérent vis-à-vis de la configuration du reverse proxy.
- Toutes les variables font référence aux paramètres pour configurer l’envoi des e-mails. Adaptez les valeurs en fonction du serveur que vous utilisez pour envoyer les e-mails.
- En principe, vous n’avez pas besoin de modifier les chemins des volumes, mais vous pouvez tout de même vérifier.
Cette configuration va créer deux conteneurs : pour la base de données (avec MariaDB Server) et pour la partie applicative (avec l’image non-root). Quand c’est bon pour vous, poursuivez et lancez la création du projet. Pensez à consulter les journaux des conteneurs pour voir si tout se passe bien.

Les images seront téléchargées et les conteneurs créés. Ensuite, une fois qu’ils sont lancés, le provisionning de l’application peut prendre 5 à 10 minutes, donc soyez patient la première fois.

À l’aide d’un navigateur, connectez-vous à votre instance Passbolt. Pour ma part, je tente donc une connexion sur :
Ne faites rien, retournez sur l’interface de Container Manager, car en réalité l’instance est livrée sans compte et il n’est pas possible d’en créer un depuis l’interface web.

D. Créer l’administrateur Passbolt
Au sein du conteneur , nous devons exécuter une commande pour créer un premier administrateur sur notre instance. Au sein de cette commande, visible ci-dessous, vous devez préciser l‘adresse e-mail, le prénom et le nom.
D’accord, mais comment peut-on exécuter la commande sur le conteneur depuis Container Manager ?
Dans Container Manager :
- Cliquez sur “Projet” à gauche puis sur le projet “passbolt“. Cliquez ensuite sur le conteneur nommé .
- Quand c’est fait, cliquez sur le bouton “Action” en haut à droite, puis sur “Ouvrir le terminal“.
- Une fenêtre s’ouvre… Cliquez sur “Créer” : une nouvelle entrée nommée va apparaître. Cliquez dessus.
- Un prompt sera visible à l’écran, vous pourrez alors saisir la commande !
Voici un exemple :

Le message vert confirme la création du compte. Une URL est aussi précisée juste en dessous. Vous pouvez accéder à cette URL ou plus simplement, depuis la page précédemment ouverte, renseignez l’adresse e-mail correspondante au compte créé en ligne de commande.
À partir de là, le processus de configuration d’un compte s’affiche à l’écran. Que l’instance soit installée sur un NAS ou sur un serveur, avec ou sans Docker, les manipulations qui suivent restent les mêmes.
Vous devez donc installer l’extension Passbolt dans votre navigateur pour poursuivre. La page vous invite d’ailleurs à effectuer cette action dès maintenant.

Vous devez spécifier le mot de passe maître de votre compte Passbolt. C’est la seule information que vous devez mémoriser et que vous ne devez surtout pas perdre !
- Ce mot de passe (passphrase) sera utilisé pour chiffrer la clé privée générée juste après.
Sinon, vous ne pourrez plus accéder aux données de votre compte, même si vous avez la main sur le serveur, cela ne changera rien. Indiquez un mot de passe robuste et poursuivez.

Un fichier nommé est téléchargé sur votre PC. Il correspond à votre clé privée PGP. Elle est personnelle, doit être conservée et sauvegardée, et surtout, elle ne doit pas être partagée.

Vous devrez ensuite sélectionner une couleur et attribuer une combinaison composée de trois caractères. Ces éléments, propres à votre appareil, s’afficheront à chaque reconnexion à votre compte Passbolt depuis ce même poste. Si, lors d’une future connexion, cette couleur ou ce texte ne correspondent pas à ceux habituels, cela peut indiquer un risque de sécurité, comme une tentative de phishing.

Félicitations, votre compte Passbolt est maintenant prêt à l’emploi !
Vous pouvez dès à présent ajouter vos premiers secrets dans le coffre-fort, mais aussi gérer les paramètres de votre organisation, puisque ce compte dispose des droits d’administration.

III. Conclusion
Vous disposez désormais d’une instance Passbolt pleinement fonctionnelle sur votre NAS Synology, hébergée en local via Container Manager. Cette solution open source vous permet de centraliser et sécuriser la gestion de vos mots de passe tout en gardant le contrôle total sur vos données. Il ne vous reste plus qu’à inviter d’autres utilisateurs et à commencer à utiliser Passbolt : n’oublions pas que c’est un gestionnaire de mots de passe pour les équipes.
Pour effectuer une prise en main complète de Passbolt, pensez à consulter mon article de présentation ou la documentation officielle :