28/03/2021

Bitwarden

Projet : https://github.com/dani-garcia/bitwarden_rs

Installation

Backend (en rust)

Installation de Rust

apt install git vim curl wget pkg-config openssl libssl1.1 libssl-dev gcc g++ file python
curl https://sh.rustup.rs -sSf | sh
echo 'source $HOME/.cargo/env' >> ~/.bashrc
source $HOME/.cargo/env

Compilation

git clone https://github.com/dani-garcia/bitwarden_rs && pushd bitwarden_rs
cargo clean && cargo build --features sqlite --release
file target/release/bitwarden_rs 
pushd target/release/

Frontend

Nodejs

ln -sf /opt/node-v14.16.0-linux-x64/ /opt/node
echo 'export PATH=/opt/node/bin:$PATH' >> ~/.bashrc
export PATH=/opt/node/bin:$PATH

npm i npm@latest -g

Projet

git clone https://github.com/bitwarden/web.git web-vault.git && cd web-vault.git
git checkout v2.18.2
export NODE_ENV=production
npm run sub:init && npm install && npm run dist

Test

cp -a build ../web-vault
cd ..
mkdir data
./bitwarden_rs

Pour faire le premier lancement j’ai du passer par le reverse proxy direct… En HTTP il voulais pas me connecter.

Configuration du projet

cp bitwarden_rs /usr/bin/bitwarden_rs
chmod +x /usr/bin/bitwarden_rs
useradd -m -d /var/lib/bitwarden_rs bitwarden_rs
cp -R data /var/lib/bitwarden_rs/
cp -R web-vault /var/lib/bitwarden_rs/
chown -R bitwarden_rs:bitwarden_rs /var/lib/bitwarden_rs
mkdir /etc/bitwarden_rs
cp ../../.env.template /etc/bitwarden_rs/env
chown -R bitwarden_rs:bitwarden_rs /etc/bitwarden_rs

Création du service systemctl

vim /etc/systemd/system/bitwarden_rs.service
[Unit]
Description=Bitwarden Server (en version rust)
Documentation=https://github.com/dani-garcia/bitwarden_rs

# Only sqlite
After=network.target

[Service]
User=bitwarden_rs
Group=bitwarden_rs

# Le fichier de configuration d'environment
EnvironmentFile=/etc/bitwarden_rs/env
# L'executable
ExecStart=/usr/bin/bitwarden_rs

LimitNOFILE=1048576
WorkingDirectory=/var/lib/bitwarden_rs
AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start bitwarden_rs.service
systemctl status bitwarden_rs.service