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