Bonjour à tous,
Après une installation réussi hier soir de Bitwarden, je viens vous proposer un petit tuto pour l'installer.
Tout d'abord, Bitwarden, qu'es ce que c'est ?
Bitwarden est une application Open Source développer en C# et MSSQL (j'y reviendrais) qui permet de gérer ses mots de passe à la manière de 1Password, Lastpast, Keepass.
Des extensions sont disponibles pour tout les navigateurs et iOS/Android.
Vous aller me dire tout ça c'est bien joli mais quel intérêt ? L’intérêt, c'est qu'il est possible de s'auto héberger et donc d'avoir son propre gestionnaire de mot de passe à la maison sans passer par des serveurs bien plus exposé sur internet.
Vous êtes toujours partant ? En premier lieu, quelque pré-requis :
- Disposer d'un NAS sous architecture x86 (Intel) tout simplement car l'installation est réalisé avec Docker
- Disposer de pas mal de RAM, l'application exécute une instance Microsoft SQL Server (très) gourmande en RAM (environ 700Mo, une version Ruby beaucoup plus légère existe mais c'est une adaptation et non une vrai branche)
- Ne pas avoir peur de faire un peu de ligne de commande ?
Vous êtes toujours là ? Allons y vous aller voir c'est très simple.
Merci @InfoYANN pour avoir refait toute le tuto avec les dernières version de Bitwarden !
*****************************************************
Créer un dossier "bitwarden" dans le dossier "docker" dans FileStation.
Créer un sous domaine pour votre instance bitwarden et faites en sorte que le certificat SSL de Let's Encrypt soit fonctionnel (rien à faire pour les certificats wildcard).
Aller sur le site de Bitwarden afin d'obtenir un ID :
https://bitwarden.com/host
Entrer une adresse mail valide et copier :
ID d'installation : xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Clé d'installation : xxxxxxxxxxxxxxx
Maintenant connecter vous en SSH (voir mon tuto si vous ne savez pas faire).
Rendez-vous ici : cd /volumeX/docker/bitwarden
Nous allons maintenant récupérer le script d'installation et le mettre dans le dossier bitwarden fraichement créé :
curl -s -o bitwarden.sh https://raw.githubusercontent.com/bitwarden/core/master/scripts/bitwarden.sh&& sudo chmod u+x bitwarden.sh
Puis on lance l'installation :
./bitwarden.sh install
Pendant l'installation, nous allons devoir répondre à quelques questions (moins qu'auparavant) :
*Les lignes en rouge seront les messages du système au fur et à mesure de l'installation !
(!) Enter the domain name for your Bitwarden instance (ex. bitwarden.company.com): sousdomaine.domaine.tld
(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): n
(!) Enter your installation id (get at https://bitwarden.com/host): xxxxxxxxxxxxxx
(!) Enter your installation key: xxxxxxxxxxxxx
(!) Do you have a SSL certificate to use? (y/n): y
!!!!!!!!!! NOTE !!!!!!!!!!
Make sure 'certificate.crt' and 'private.key' are provided in the
appropriate directory before running 'start' (see docs for info).
(!) Is this a trusted SSL certificate (requires ca.crt, see docs)? (y/n): y
Installation complete
If you need to make additional configuration changes, you can modify
the settings in `./bwdata/config.yml` and then run:
`./bitwarden.sh rebuild` or `./bitwarden.sh update`
Next steps, run:
`./bitwarden.sh start` and then `./bitwarden.sh updatedb`
Rendez-vous dans FileStation mais ne fermez pas votre fenêtre SSH.
Nous allons renommer et copier les fichiers du certificat SSL dans le bon dossier :
Renommer le fichier "privkey.pem" avec comme nom "private.key" puis le copier dans /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ ce qui donnera comme résultat : /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/private.key
Renommer le fichier "cert.pem" avec comme nom "certificate.crt" puis le copier dans /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ ce qui donnera comme résultat : /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/certificate.crt
Renommer le fichier "chain.pem" avec comme nom "ca.crt" puis le copier dans /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ ce qui donnera comme résultat : /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ca.crt
Nous allons maintenant créer les dossiers qui seront manquants pour la suite de l'installation :
/volumeX/docker/bitwarden/bwdata/logs
/volumeX/docker/bitwarden/bwdata/logs/admin
/volumeX/docker/bitwarden/bwdata/logs/api
/volumeX/docker/bitwarden/bwdata/logs/icons
/volumeX/docker/bitwarden/bwdata/logs/identity
/volumeX/docker/bitwarden/bwdata/logs/mssql
/volumeX/docker/bitwarden/bwdata/logs/nginx
/volumeX/docker/bitwarden/bwdata/logs/notifications
/volumeX/docker/bitwarden/bwdata/logs/events
/volumeX/docker/bitwarden/bwdata/core
/volumeX/docker/bitwarden/bwdata/core/attachments
/volumeX/docker/bitwarden/bwdata/mssql
/volumeX/docker/bitwarden/bwdata/mssql/data
/volumeX/docker/bitwarden/bwdata/mssql/backups
Nous allons éditer le fichier "global.override.env" qui se trouve dans "/volumex/docker/bitwarden/bwdata/env" afin de configurer le serveur SMTP pour que Bitwarden puisse envoyer les notifications. On va en profiter pour inscrire notre adresse mail pour la partie admin 😉
Il faut maintenant finir de configurer manuellement le fichier "config.yml" qui se trouve dans "/volumex/docker/bitwarden/bwdata" :
Par défaut, les ports sont 80 et 443 mais en général, ils sont déjà utilisés sur DSM alors on va en mettre d'autres. Pour ma part, j'ai choisi le port 81 et 444.
On retourne dans notre fenêtre SSH et on lance ensuite ces commandes une par une :
./bitwarden.sh update
./bitwarden.sh updatedb
./bitwarden.sh start
Si ces commandes ne fonctionnent pas, faites d'abord :
./bitwarden.sh rebuild
Vous pouvez maintenant accéder à votre instance Bitwarden via votre domaine : le port.
Source : http://www.synology-forum.de/showthread.html?90435-Bitwarden-auf-der-Synology-(Docker)/page5
En complément, dans le dossier env (éditable via vi pour les plus aguerris) vous pouvez paramétrer le SMTP (pour l'envoi des mails) et bloquer les inscriptions supplémentaires sur votre serveur ci nécessaire.