Merge branch 'main' into 'main'

Relecture doc d'installation et de mise à jour

See merge request a-lec/commissions/infrastructure/service-coffre!1
This commit is contained in:
Adrien Bourmault 2023-03-28 09:28:54 +00:00
commit 5f0cca39e7
1 changed files with 40 additions and 58 deletions

View File

@ -2,29 +2,32 @@
[TOC] [TOC]
## Installation de Vaultwarden ## Installation de Vaultwarden
**Pour la compilation du serveur, un minimum de 2.5Go de mémoire vive est requis (sans quoi la compilation échoue)**. **Pour la compilation du serveur, un minimum de 2.5Go de mémoire vive est requis (sans quoi la compilation échoue)**.
**Note : les opérations suivantes sont à faire avec l'utilisateur `admin666`.**
### Installation des dépendances ### Installation des dépendances
Installation des paquets `rustc` et `cargo` : Installer des paquets `rustc` et `cargo` :
sudo apt install rustc cargo sudo apt install rustc cargo
### Compilation du serveur ### Compilation du serveur
On récupère les sources : Récupérer les sources :
cd ~ cd ~
mkdir vaultwarden mkdir vaultwarden
git clone https://github.com/dani-garcia/vaultwarden ~/vaultwarden/vaultwarden git clone https://github.com/dani-garcia/vaultwarden ~/vaultwarden/vaultwarden
On choisit la bonne version à l'aide des tags : Choisir la bonne version à l'aide des tags :
git checkout <version> git checkout <version>
On compile avec rust le serveur, en nettoyant bien avant : Compiler le serveur avec Rust, en nettoyant bien avant :
cd vaultwarden/vaultwarden cd vaultwarden/vaultwarden
cargo clean cargo clean
@ -32,32 +35,29 @@ On compile avec rust le serveur, en nettoyant bien avant :
### Installation du serveur ### Installation du serveur
Installation du fichier de configuration par défaut : Créer un utilisateur dédié :
sudo cp ../../.env.template /etc/vaultwarden.env sudo useradd -m -d /var/lib/vaultwarden vaultwarden
Installation du binaire : Installer le fichier de configuration par défaut :
sudo cp vaultwarden /usr/bin/vaultwarden sudo cp ~/vaultwarden/vaultwarden/.env.template /etc/vaultwarden.env
Création du dossier des données : Installer le binaire :
sudo cp ~/vaultwarden/vaultwarden/target/release/vaultwarden /usr/bin/vaultwarden
sudo chmod +x /usr/bin/vaultwarden
Créer le dossier des données :
sudo mkdir /var/lib/vaultwarden/data sudo mkdir /var/lib/vaultwarden/data
Correction des droits :
sudo chmod +x /usr/bin/vaultwarden
sudo useradd -m -d /var/lib/vaultwarden vaultwarden
sudo chown -R vaultwarden:vaultwarden /var/lib/vaultwarden sudo chown -R vaultwarden:vaultwarden /var/lib/vaultwarden
### Création du fichier de service ### Création du fichier de service
On crée le fichier : Créer le fichier `/etc/systemd/system/vaultwarden.service` :
sudo nano /etc/systemd/system/vaultwarden.service
Avec le contenu suivant :
``` ```
[Unit] [Unit]
Description=Bitwarden Server (Powered by Vaultwarden) Description=Bitwarden Server (Powered by Vaultwarden)
@ -98,107 +98,89 @@ AmbientCapabilities=CAP_NET_BIND_SERVICE
WantedBy=multi-user.target WantedBy=multi-user.target
``` ```
On recharge les services Recharger les services :
sudo systemctl daemon-reload sudo systemctl daemon-reload
On démarre Redémarrer le service et rendre son démarrage automatique :
sudo systemctl start vaultwarden.service sudo systemctl start vaultwarden.service
sudo systemctl enable vaultwarden.service sudo systemctl enable vaultwarden.service
## Mise à jour de Vaultwarden ## Mise à jour de Vaultwarden
### Récupération des mises à jour Récupérer les commits dans le dépôt et on passe sur le tag de la dernière version (`<version>`) :
On récupère les commits dans le dépôt et on passe sur le tag de la dernière version (`<version>`)
cd ~/vaultwarden/vaultwarden cd ~/vaultwarden/vaultwarden
git fetch git fetch
git checkout <version> git checkout <version>
### Mise à jour du serveur Compiler le serveur avec Rust, en nettoyant bien avant :
On compile avec rust le serveur, en nettoyant bien avant.
cargo clean cargo clean
cargo build --features sqlite --release cargo build --features sqlite --release
Installer le binaire :
On installe le binaire sudo cp ~/vaultwarden/vaultwarden/target/release/vaultwarden /usr/bin/vaultwarden
sudo cp target/release/vaultwarden /usr/bin/vaultwarden
sudo chmod +x /usr/bin/vaultwarden sudo chmod +x /usr/bin/vaultwarden
On redémarre le service Redémarrer le service :
sudo systemctl restart vaultwarden.service sudo systemctl restart vaultwarden.service
## Installation de l'interface web ## Installation de l'interface web
### Installation des dépendances Paramétrer la source pour la version la plus récente de nodejs :
On paramètre la source pour la version la plus récente de nodejs
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
On installe nodejs Installer nodejs :
sudo apt install -y nodejs sudo apt install -y nodejs
sudo npm i npm@latest -g sudo npm i npm@latest -g
### Compiler la dernière version de l'interface web Récupèrer les sources :
On récupère les sources
git clone https://github.com/dani-garcia/bw_web_builds ~/vaultwarden/webvault git clone https://github.com/dani-garcia/bw_web_builds ~/vaultwarden/webvault
On compile Compiler :
cd ~/vaultwarden/webvault cd ~/vaultwarden/webvault
make full make full
### Installation de l'interface web Installer l'interface web :
cd ~/vaultwarden/webvault cd ~/vaultwarden/webvault
sudo cp -R builds/bw_web_<tag> /var/lib/vaultwarden/web-vault sudo cp -R builds/bw_web_<tag> /var/lib/vaultwarden/web-vault
Correction des droits Corriger les droits :
sudo chown -R vaultwarden:vaultwarden /var/lib/vaultwarden sudo chown -R vaultwarden:vaultwarden /var/lib/vaultwarden
## Mise à jour de l'interface web ## Mise à jour de l'interface web
### Mise à jour des dépendances Mettre à jour les dépendances :
sudo npm i npm@latest -g sudo npm i npm@latest -g
### Récupération des mises à jour Récupérer les commits dans le dépôt :
On récupère les commits dans le dépôt
cd ~/vaultwarden/webvault cd ~/vaultwarden/webvault
git pull git pull
### Compiler la dernière version de l'interface web Compiler la dernière version de l'interface web :
cd ~/vaultwarden/webvault cd ~/vaultwarden/webvault
make full make full
Lorsque demandé, insérer l'identifiant du tag le plus récent (dispo avec git tag) Lorsque demandé, insérer l'identifiant du tag le plus récent (dispo avec git tag).
### Installer l'interface web Installer la version correspondant à `<tag>` :
On installe la version correspondant à `<tag>`
cd ~/vaultwarden/webvault
sudo rm -r /var/lib/vaultwarden/web-vault sudo rm -r /var/lib/vaultwarden/web-vault
sudo cp -R builds/bw_web_<tag> /var/lib/vaultwarden/web-vault sudo cp -R ~/vaultwarden/webvault/builds/bw_web_<tag> /var/lib/vaultwarden/web-vault
Correction des droits Corriger les droits :
sudo chown -R vaultwarden:vaultwarden /var/lib/vaultwarden sudo chown -R vaultwarden:vaultwarden /var/lib/vaultwarden