Avoir des mots de passe solides, c’est bien (et même indispensable), mais s’en souvenir… c’est dur. On serait tenté de tout enregistré dans son navigateur, avec un mot de passe maître pour stocker les mots de passe de façon chiffrée mais… Firefox par exemple a un système de chiffrement par mot de passe maître tout pourri.
Il existe un paquet de gestionnaire de mot de passe libre. Évacuons tous ceux basé sur KeePass ou ses successeurs : pour utiliser ses mots de passe sur un autre PC ou sur son téléphone, il faut synchroniser le fichier contenant les mots de passe et s’il y a un souci de synchro et que le fichier se retrouve corrompu… paf, pastèque !.
J’ai essayé Passbolt ou encore l’application Passman de Nextcloud mais quand j’utilisais la sécurité maximale qu’ils proposent… mon Firefox plantait (oui, quand on me propose des réglages de parano, je les utilise). Sans compter qu’ils ne proposent pas d’appli Android.
Et puis, j’ai testé Bitwarden. Et c’est pas mal du tout, mais… c’est du C# et ça utilise une base de données SQL Server. Deux trucs Microsoft.
Bon, passant outre mon aversion, j’ai testé. Dans du Docker (quand je vous dis que je suis passé outre mon aversion !). C’était pas mal du tout.
Mais en voulant tester le partage de mot de passe (dans l’hypothèse d’une utilisation chez Framasoft), j’ai rencontré une limitation : pour créer une organisation (un groupe de personnes qui se partagent des mots de passe) de plus de deux personnes, il faut payer, même quand on héberge soi-même le serveur Bitwarden. Pourquoi pas. C’est un business model comme un autre (mais bon, grmpf).
Par contre, les tarifs, c’est un très gros grmpf : 3 dollars par utilisateur et par mois. Pour Framasoft, cela ferait 3$ * 35 personnes * 12 mois = 1 260$ par an. Y a un autre plan qui pourrait convenir, qui nous reviendrait à 780$ par an. C’est quand même pas négligeable (surtout pour une association qui ne vit quasiment que de vos dons) alors qu’on hébergerait nous-même le service.
J’avais laissé tombé quand ces derniers jours, une implémentation en Rust de Bitwarden est passée dans ma timeline Mastodon : https://github.com/dani-garcia/bitwarden_rs. Et celle-ci n’a pas la limitation sur les équipes (mais il encourage à donner des sous au projet upstream).
J’ai d’abord testé avec le container Docker fourni par le développeur puis j’ai tenté la compilation pour voir si ça passait, et ça passe crème !
La grosse différence, outre la non-limitation des organisations, c’est que la base de données est, pour l’instant, SQLite. Ce qui peut avoir des conséquences sur les performances lorsque la base est très sollicitée.
Ceci dit, Framadrop tourne toujours avec une base SQLite et ça fonctionne bien, et mon instance Lutim, ainsi que Framapic ont longtemps utilisé SQLite.
Bref, voyons comment compiler et installer cette version de Bitwarden en Rust.
ATTENTION : allez plutôt voir le tutoriel sur https://wiki.fiat-tux.fr/admin:logiciels:bitwarden_rs, c’est plus simple pour moi de le maintenir sur mon wiki.
Compilation
On va avoir besoin des backports Debian pour installer npm
(pour compiler l’interface web) :
echo "deb http://ftp.debian.org/debian stretch-backports main" | sudo tee /etc/apt/sources.list.d/backports.list
sudo apt update
Installation des dépendances :
sudo apt install pkg-config libssl-dev
sudo apt install -t stretch-backports npm
Installation de rustup, qui nous fournira le compilateur Rust :
curl https://sh.rustup.rs -sSf > rustup.sh
On n’exécute pas direct un script tiré du web ! On regarde d’abord s’il ne va pas faire de saloperies :
vi rustup.sh
On le rend exécutable :
chmod +x rustup.sh
On installe le compilateur Rust (il sera dans notre $HOME
) :
./rustup.sh --default-host x86_64-unknown-linux-gnu --default-toolchain nightly
On source un fichier qui nous permet de l’appeler
source $HOME/.cargo/env
Gagnons du temps en clonant le projet bitwarden_rs et l’interface web (qu’il faut compiler aussi) en même temps .
git clone https://github.com/dani-garcia/bitwarden_rs
git clone https://github.com/bitwarden/web.git web-vault
Compilation de Bitwarden_rs :
cd bitwarden_rs
cargo build --release
Le résultat de la compilation est dans bitwarden_rs/target/release/
.
Compilation de l’interface web :
cd ../web-vault
# On se positionne sur le dernier tag en date
git checkout "$(git tag | tail -n1)"
# Un petit patch pour que ça fonctionne avec notre installation
wget https://raw.githubusercontent.com/dani-garcia/bw_web_builds/master/patches/v2.8.0.patch
# On vérifie le patch
cat v2.8.0.patch
git apply v2.8.0.patch
npm run sub:init
npm install
npm run dist
ATTENTION : on m’a dit que la compilation de l’interface web prenait 1,5Gio de RAM, assurez-vous que vous en avez assez de libre.
Et on copie l’interface web dans le dossier où attend le résultat de la compilation de bitwarden_rs :
cp -a build/ ../bitwarden_rs/target/release/web-vault/
Installation
On va installer Bitwarden_rs dans /opt/bitwarden
et on le fera tourner avec l’utilisateur www-data
:
cd ..
sudo rsync -a --info=progress2 bitwarden_rs/target/release/ /opt/bitwarden/
chown -R www-data: /opt/bitwarden
Puis on va créer un service systemd
, /etc/systemd/system/bitwarden.service
:
[Unit]
Description=Bitwarden Server (Rust Edition)
Documentation=https://github.com/dani-garcia/bitwarden_rs
After=network.target
[Service]
# The user/group bitwarden_rs is run under. the working directory (see below) should allow write and read access to this user/group
User=www-data
Group=www-data
# The location of the .env file for configuration
EnvironmentFile=/etc/bitwarden_rs.env
# The location of the compiled binary
ExecStart=/opt/bitwarden/bitwarden_rs
# Set reasonable connection and process limits
LimitNOFILE=1048576
LimitNPROC=64
# Isolate bitwarden_rs from the rest of the system
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=strict
# Only allow writes to the following directory and set it to the working directory (user and password data are stored here)
WorkingDirectory=/opt/bitwarden/
ReadWriteDirectories=/opt/bitwarden/
[Install]
WantedBy=multi-user.target
Pour l’interface d’administration, on va créer un token avec :
openssl rand -base64 48
La configuration se fait via des variables d’environnement qu’on va mettre dans /etc/bitwarden_rs.env
:
SIGNUPS_ALLOWED=false
WEBSOCKET_ENABLED=true
ADMIN_TOKEN=Un token généré avec `openssl rand -base64 48`
ROCKET_ADDRESS=127.0.0.1
WEBSOCKET_ADDRESS=127.0.0.1
SMTP_HOST=127.0.0.1
SMTP_FROM=bitwarden@example.org
SMTP_PORT=25
SMTP_SSL=false
Vous remarquerez que je dis à Bitwarden d’envoyer les mails via le serveur SMTP local. À vous de faire en sorte qu'il fonctionne. Allez voir le wiki du projet pour voir quelles variables vous pourriez ajouter, enlever, modifier…
Puis :
sudo systemctl daemon-reload
sudo systemctl enable bitwarden
sudo systemctl start bitwarden
sudo systemctl status bitwarden
Nginx
On installe Nginx s’il n’est pas déjà installé :
sudo apt install nginx
Configuration du virtualhost :
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name bitwarden.example.org;
access_log /var/log/nginx/bitwarden.access.log;
error_log /var/log/nginx/bitwarden.error.log;
ssl_certificate /etc/letsencrypt/live/bitwarden.example.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/bitwarden.example.org/privkey.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:5m;
ssl_prefer_server_ciphers On;
ssl_protocols TLSv1.2;
ssl_ciphers 'EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA';
ssl_dhparam /etc/ssl/private/dhparam4096.pem;
add_header Strict-Transport-Security max-age=15768000; # six months
gzip off;
if ($https != 'on') {
rewrite ^/(.*)$ https://bitwarden.example.org/$1 permanent;
}
root /var/www/html;
# Allow large attachments
client_max_body_size 128M;
location ^~ '/.well-known/acme-challenge' {
default_type "text/plain";
root /var/www/certbot;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8000;
}
location /notifications/hub {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:3012;
}
location /notifications/hub/negotiate {
proxy_pass http://127.0.0.1:8000;
}
}
Pour créer /etc/ssl/private/dhparam4096.pem
:
sudo openssl dhparam -out /etc/ssl/private/dhparam4096.pem 4096
Pour le certificat Let’s Encrypt, on commente le brol relatif à ssl
puis :
sudo nginx -t && sudo nginx -s reload
sudo apt install certbot
sudo mkdir /var/www/certbot/
certbot certonly --rsa-key-size 4096 --webroot -w /var/www/certbot/ --agree-tos --text --renew-hook "/usr/sbin/nginx -s reload" -d bitwarden.example.org
Une fois qu’on a le certificat, on décommente le brol ssl
puis :
sudo nginx -t && sudo nginx -s reload
Sauvegarde
Créer le script de sauvegarde /opt/backup_bitwarden.sh
:
#!/bin/bash
function bwbackup {
DATE=$(date '+%a%H')
# Database
if [[ ! -d /opt/backup_bitwarden/sqlite-backup/ ]]
then
mkdir -p /opt/backup_bitwarden/sqlite-backup/
fi
echo ".backup /opt/backup_bitwarden/sqlite-backup/db.${DATE}.sqlite3" | sqlite3 /opt/bitwarden/data/db.sqlite3 2>> /opt/backup_bitwarden/backup.log
if [[ "$?" -ne "0" ]]
then
echo "Something went wrong with bitwarden database backup, please see /opt/backup_bitwarden/backup.log on verity" | mail -s "Bitwarden database backup" youraddress@mail.example.org
bwbackup
fi
# Files
if [[ ! -d /opt/backup_bitwarden/files-backup/ ]]
then
mkdir -p /opt/backup_bitwarden/files-backup/
fi
rsync -a --delete --exclude db.sqlite3 /opt/bitwarden/data/ /opt/backup_bitwarden/files-backup/$DATE/ 2>> /opt/backup_bitwarden/backup.log
if [[ "$?" -ne "0" ]]
then
echo "Something went wrong with bitwarden files backup, please see /opt/backup_bitwarden/backup.log on verity" | mail -s "Bitwarden files backup" youraddress@mail.example.org
bwbackup
fi
}
bwbackup
Puis :
sudo chmod +x /opt/backup_bitwarden.sh
sudo mkdir /opt/backup_bitwarden
sudo chown www-data: /opt/backup_bitwarden
sudo apt install sqlite3
Puis, dans le cron de l’utilisateur www-data
:
42 4 * * * /opt/backup_bitwarden.sh
Logs
J’aime bien avoir mes logs dans un dossier dédié pour ce genre de service.
Dans /etc/rsyslog.d/bitwarden.conf
:
if $programname == 'bitwarden_rs' then /var/log/bitwarden/bitwarden.log
if $programname == 'bitwarden_rs' then ~
Dans /etc/logrotate.d/bitwarden
:
/var/log/bitwarden/bitwarden.log
{
rotate 52
dateext
weekly
missingok
notifempty
compress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Puis :
sudo mkdir /var/log/bitwarden
sudo chown root:adm /var/log/bitwarden
sudo service rsyslog restart
Fail2ban
Un fail2ban qui surveille les logs, ça permet de bloquer les petits malins qui font du bruteforce
Dans /etc/fail2ban/filter.d/bitwarden.conf
:
[INCLUDES]
before = common.conf
[Definition]
failregex = ^.*Username or password is incorrect\. Try again\. IP: <HOST>\. Username:.*$
ignoreregex =
Dans /etc/fail2ban/jail.d/bitwarden.local
:
[bitwarden]
enabled = true
port = 80,443
filter = bitwarden
action = iptables-allports[name=bitwarden]
logpath = /var/log/bitwarden/bitwarden.log
maxretry = 3
bantime = 14400
findtime = 14400
Pour la page d’admin, dans /etc/fail2ban/filter.d/bitwarden-admin.conf
:
[INCLUDES]
before = common.conf
[Definition]
failregex = ^.*Unauthorized Error: Invalid admin token\. IP: <HOST>.*$
ignoreregex =
Dans /etc/fail2ban/jail.d/bitwarden-admin.local
:
[bitwarden-admin]
enabled = true
port = 80,443
filter = bitwarden-admin
action = iptables-allports[name=bitwarden]
logpath = /var/log/bitwarden/bitwarden.log
maxretry = 3
bantime = 14400
findtime = 14400
Finalement :
sudo service fail2ban restart
Conclusion
Voilà, vous devriez avoir un serveur Bitwarden_rs fonctionnel. Plus qu’à aller sur l’interface web que vous venez de mettre en place ou télécharger les clients et à les utiliser !
Pour importer vos mots de passe de Firefox, il faut passer par une application pour les exporter, puis aller dans les outils de votre client (ou de l’interface web).
EDIT 15/01/2019 Remplacement de la mention de l’application Nextcloud Passwords par l’application Passman (je me suis trompé).
EDIT 17/01/2019 Remplacement de npm run dist
par npm run dist:selfhost
dans la compilation de l'interface web. Cela désactive Google Analytics (voir https://github.com/bitwarden/web/issues/243#issuecomment-412852726)
EDIT 18/01/2019 Remplacement de npm run dist:selfhost
par npm run dist
dans la compilation de l'interface web. Google Analytics est déjà désactivé par le patch. Il semblerait que j’ai vu passer des requêtes vers Google Analytics à cause du cache de mon navigateur qui gardait une version non patchée.
EDIT 18/01/2019 Ajout d’un avertissement sur la consommation de RAM lors de la compilation de l’interface web.
Très intéressant, J’ai longtemps cherché ce genre de solution. Personnellement, je suis tombé sur Syspass il y a plus d’1 an, un projet Open source LAMP qui satisfait l’ensemble de mes critères, sécurité, multi-utilisateur avec LDAP et API pour l’automatisation. Que du bonheur.
https://demo.syspass.org/
https://doc.syspass.org/en/3.0/
Merci c’est super.
juste pas vu le cd .. a faire avant le rsync dans /opt
Tuto nickel
Je viens de l’installer en suivant ces instructions sur une Ubuntu 18.04, ça semble marcher au poil. Merci.
Je vais voir si la migration depuis KeepassXC se passe bien (a priori il semble que KeepassXC n’exporte pas les seeds TOTP, mais c’est pas une catastrophe).
Merci beaucoup pour l’article, c’est très intéressant !
J’avais aussi étudié Bitwarden il y a quelques mois, puis écarté cette solution en raison des technos Microsoft utilisées.
Comme alternative possible j’avais noté Passbolt, sous AGPL et qui utilise GnuPG :
https://www.passbolt.com/
Salut, merci pour ce guide je vais tester très vite !
Par contre est ce que tu peux te connecter à ton instance via l’appli Android et l’extension firefox ?
Oui : il faut aller dans les paramètres pour changer l’adresse du serveur.
Il est possible d’avoir un paragraphe upgrade depuis git?
Je suis pas sur au niveau de la suppression du patch avant le git pull
source $HOME/.cargo/env
cd bitwarden_rs
git pull
cargo build --release
cd ../web-vault
git checkout -b "$(git tag | tail -n1)"
git pull
wget https://raw.githubusercontent.com/dani-garcia/bw_web_builds/master/patches/$(git tag | tail -n1).patch
# On vérifie le patch
cat $(git tag | tail -n1).patch
git apply $(git tag | tail -n1).patch
npm run sub:init
npm install
npm run dist
cp -a build/ ../bitwarden_rs/target/release/web-vault/
cd ..
sudo rsync -a --info=progress2 bitwarden_rs/target/release/ /opt/bitwarden/
chown -R www-data: /opt/bitwarden
sudo systemctl restart bitwarden
Bonjour,
Encore merci pour le tuto, j’avais une question sur la sécurité de l’interface d’administration via le « token » comment tu gères le fait que par ce biais l’interface d’amin est disponible pour tout le monde durant les 20 minutes d’activation?
Merci d’avance pour ton retour .
badmaniak.
Entre temps je vois qu’il existe aussi une image docker de Bitwarden_RS !
Bonjour,
Tout d’abord, merci beaucoup pour ce tuto très détaillé et vraiment bien réalisé.
Je me retrouve avec une erreur au moment du démarrage du service bitwarden
voici son status :
bitwarden@bitwarden:~$ sudo systemctl status bitwarden
● bitwarden.service - Bitwarden Server (Rust Edition)
Loaded: loaded (/etc/systemd/system/bitwarden.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2020-04-02 13:07:10 UTC; 23s ago
Docs: https://github.com/dani-garcia/bitwarden_rs
Process: 30570 ExecStart=/opt/bitwarden/bitwarden_rs (code=exited, status=203/EXEC)
Main PID: 30570 (code=exited, status=203/EXEC)
avril 02 13:07:10 bitwarden systemd[1]: Started Bitwarden Server (Rust Edition).
avril 02 13:07:10 bitwarden systemd[30570]: bitwarden.service: Failed to execute command: No such file or directory
avril 02 13:07:10 bitwarden systemd[30570]: bitwarden.service: Failed at step EXEC spawning /opt/bitwarden/bitwarden_rs: No such file or directory
avril 02 13:07:10 bitwarden systemd[1]: bitwarden.service: Main process exited, code=exited, status=203/EXEC
avril 02 13:07:10 bitwarden systemd[1]: bitwarden.service: Failed with result 'exit-code'.
Aurais tu une solution ou une idée de la raison de ce soucis car je n’arrive pas du tout à comprendre
Pas compliqué : /opt/bitwarden/bitwarden_rs n’existe pas. Tu as peut-être sauté une étape dans le suivi du tutoriel.
c’est effectivement ce que je pensais au départ j’ai vérifier le fonctionnement de
sudo rsync -a –info=progress2 bitwarden_rs/target/release/ /opt/bitwarden/
mais cette dernière ne fonctionnait pas correctement sur la vm et ne faisait rien du tout
J’ai donc utilisé cp en lieu et place. ça a fonctionné dans le sens ou le dossier à bien bougé mais j’ai toujours l’erreur.
voici le résultat du ls du dossier /opt/bitwarden/bitwarden_rs
bitwarden@bitwarden:/opt/bitwarden/bitwarden_rs$ ls
azure-pipelines.yml build.rs Cargo.lock Cargo.toml diesel.toml docker Dockerfile LICENSE.txt migrations README.md Rocket.toml rustfmt.toml rust-toolchain src target
et le message d’erreur :
avril 02 13:21:52 bitwarden systemd[1]: Started Bitwarden Server (Rust Edition).
avril 02 13:21:52 bitwarden systemd[30899]: bitwarden.service: Failed to execute command: Permission denied
avril 02 13:21:52 bitwarden systemd[30899]: bitwarden.service: Failed at step EXEC spawning /opt/bitwarden/bitwarden_rs: Permission denied
avril 02 13:21:52 bitwarden systemd[1]: bitwarden.service: Main process exited, code=exited, status=203/EXEC
avril 02 13:21:52 bitwarden systemd[1]: bitwarden.service: Failed with result 'exit-code'.
bitwarden@bitwarden:~$ sudo systemctl status bitwarden
● bitwarden.service - Bitwarden Server (Rust Edition)
Loaded: loaded (/etc/systemd/system/bitwarden.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2020-04-02 13:21:52 UTC; 24min ago
Docs: https://github.com/dani-garcia/bitwarden_rs
Main PID: 30899 (code=exited, status=203/EXEC)
avril 02 13:21:52 bitwarden systemd[1]: Started Bitwarden Server (Rust Edition).
avril 02 13:21:52 bitwarden systemd[30899]: bitwarden.service: Failed to execute command: Permission denied
avril 02 13:21:52 bitwarden systemd[30899]: bitwarden.service: Failed at step EXEC spawning /opt/bitwarden/bitwarden_rs: Permission denied
avril 02 13:21:52 bitwarden systemd[1]: bitwarden.service: Main process exited, code=exited, status=203/EXEC
avril 02 13:21:52 bitwarden systemd[1]: bitwarden.service: Failed with result 'exit-code'.
Supprime
/opt/bitwarden
et copiebitwarden_rs/target/release/
vers/opt/bitwarden/
(faut pas copier toutbitwarden_rs
)C’est tout le temps la même chose je comprend pas cette erreur ou peut être cela provient du service en lui même ?
Il semblerait tout simplement que ça n’ait pas compilé. Normalement, dans
bitwarden_rs/target/release/
, il y a ça :c’était bien ça effectivement un compilation qui pausait soucis. Merci beaucoup à toi
ohhh pardon j’ai oublié de te dire merci de ta réponse
Bonjour Luc,
Super tuto que je vais surement testé demain.
As tu déjà testé sur le couple Mariadb/Apache ?
Au vu de ton tuto, je ne pense pas que ça pose problème mais je voulais ton retour.
Non, pas testé.
Bonjour Luc,
J’ai un petit soucis au moment de la création d’un compte avec un tilt qui apparait me disant :
« Une erreur est survenue.
Registration not allowed or user already exists »
et en console :
Failed to load resource: the server responded with a status of 400 ()
zone.js:1152
POST https://www.atlas-actif.fr/api/accounts/register 400
aurais tu une piste sur laquelle je puisse m’orienter car je n’ai pas trop d’information à ce sujet sur google ?
Est-ce que SIGNUPS_ALLOWED est bien à true dans le fichier de configuration de Bitwarden ? (/etc/bitwarden_rs.env)
un énorme merci à toi c’était bien de là le soucis j’ai corrigé et c’est topissime. Super travail et support
Salut, j’ai voulu installer Bitwarden avec ton tutoriel, mais au moment de démarrer le service, il plante sans message d’erreur : https://pastebin.com/gdYMmbLK (syslog)
Voici mon fichier env : https://pastebin.com/cUyL3iFB
Saurais-tu à quoi ça peut être dû stp ?
Merci pour ton super boulot !
Est-ce que tu peux tester en mettant `LOG_LEVEL=Debug` dans ton fichier env ?
Aucune différence. D’ailleurs, le log à /var/log/bitwarden/log reste vide.
En fait, d’après la doc de bitwarden_rs, ça devrait être `LOG_LEVEL=debug`, je sais pas si la majuscule peut changer qq chose.
Toujours pareil, malheureusement.
Avoir une aversion pour SQL Server mais utiliser SQLite pour du lourd c’est très très très curieux 😀
Premièrement, Bitwarden_rs n’est pas nécessairement « pour du lourd », si on l’installe pour soi et sa famille (plus de 30 personnes dans Framasoft et ça tourne comme un charme). Ensuite, ça synchronise pas dans tous les sens tout le temps, donc ça bourrine pas trop la BDD. Et finalement, SQLite est plus costaud qu’on le croit. Framadrop fonctionne toujours sur une base SQLite et ça tient (bon, ok, ça allait plus avec l’afflux d’utilisateurs pendant le confinement, mais en temps normal, ça tient nickel).
Bonjour,
J’ai suivi le tuto (du Wiki) sur Ubuntu Server 20.04.1 jusqu’au paragraphe du Backup. A ce stade, je n’arrive pas à lancer Bitwarden, que ce soit en local ou à distance. J’ai toujours un message « Connexion refusée ».
Le service Bitwarden est bien actif et fonctionnel, si vous avez des idées je suis preneur.
Merci !
Faudrait voir les logs de Nginx et Bitwarden, là comme ça, j’en sais rien.
Bonjour,
Merci pour le tutoriel, ça fonctionne super bien ! Par contre est-ce qu’il serait possible d’avoir un paragraphe sur la mise à jour de l’ensemble des composants Bitwarden_rs et Web-vault ? La partie Rust semble traitée dans le Wiki.
Merci par avance.
Eric
Bonjour,
Merci pour ce tuto, je viens de le tester par contre je ne capte pas cette ligne :
cp -a build/ ../bitwarden_rs/target/release/web-vault/
D’où sort le dossier build ? via npm install ?
Build équivaut au dossier web-vault qu’on a récupéré du git ?
git clone https://github.com/bitwarden/web.git web-vault
Merci d’avance pour ton retour.
Mickaël
Bon en fait je crois que j’ai compris mais il faudra l’indiquer dans la procédure :
On est dans le dossier Web_vault et je pense que le dossier build se trouve dans le dossier bitwarden_rs/target/releases.
Par contre maintenant c’est avec le service que j’ai des soucis.
Code : exited ; status : 12
Il ne trouverait pas le fichier /etc/bitwarden_rs.env qui y est pourtant bien et dans le fichier de service c’est bien indiqué (copier coller quoi…). trop bizarre…
> On est dans le dossier Web_vault et je pense que le dossier build se trouve dans le dossier bitwarden_rs/target/releases.
Non, il est créé par `npm run dist` dans le dossier de web-vault.
Pour ton souci de service, il me faudrait un peu plus d’infos, genre les logs. Vérifie aussi que le fichier `/etc/bitwarden_rs.env` soit lisible par l’utilisateur spécifié dans le service.
Nous avons eu le même problème, résolu en créant un dossier /opt/bitwarden/data
Il reste toujours une alerte [INFO] No .env file found. mais elle n’est pas bloquante.
J’ai eu le même soucis en effet. manifestement le dossier data n’est pas généré lors de la compilation
Bonjour et un grand merci pour ton tutoriel.
Tu n’as pas fait de section pour la mise à jour de bitwarden en question. C’est volontaire ? Comment tu t’y prends pour le faire toi ?
Je mets à jour les dépôts git puis je fais comme pour l’installation :
Bonjour, savez vous comment passer cette etape svp ?
Compiling devise_core v0.3.0 (https://github.com/SergioBenitez/Devise.git?rev=e58b3ac9a#e58b3ac9)
error[E0554]: `#![feature]` may not be used on the stable release channel
–> /home/lajull/.cargo/git/checkouts/devise-934be3a303f7c6d6/e58b3ac/core/src/lib.rs:1:1
|
1 | #![feature(proc_macro_diagnostic, proc_macro_span)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: `#![feature]` may not be used on the stable release channel
–> /home/lajull/.cargo/git/checkouts/devise-934be3a303f7c6d6/e58b3ac/core/src/lib.rs:2:1
|
2 | #![feature(crate_visibility_modifier)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: `#![feature]` may not be used on the stable release channel
–> /home/lajull/.cargo/git/checkouts/devise-934be3a303f7c6d6/e58b3ac/core/src/lib.rs:3:1
|
3 | #![feature(concat_idents)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 3 previous errors
For more information about this error, try `rustc –explain E0554`.
error: could not compile `devise_core`.
To learn more, run the command again with –verbose.
warning: build failed, waiting for other jobs to finish…
error: build failed
Je dirais qu’il faudrait mettre à jour Rust (
./rustup.sh --default-host x86_64-unknown-linux-gnu --default-toolchain nightly
).Et si ça ne fonctionne pas, demander sur le forum de Vaultwarden (le logiciel a changé de nom).
super merci, c’est le toolchain qui me manquait, super tuto en tout cas et merci pour votre aide 🙂