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]
## Installation de Vaultwarden
**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 paquets `rustc` et `cargo` :
Installer des paquets `rustc` et `cargo` :
sudo apt install rustc cargo
### Compilation du serveur
On récupère les sources :
Récupérer les sources :
cd ~
mkdir 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>
On compile avec rust le serveur, en nettoyant bien avant :
Compiler le serveur avec Rust, en nettoyant bien avant :
cd vaultwarden/vaultwarden
cargo clean
@ -32,32 +35,29 @@ On compile avec rust le serveur, en nettoyant bien avant :
### 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
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
### Création du fichier de service
On crée le fichier :
sudo nano /etc/systemd/system/vaultwarden.service
Avec le contenu suivant :
Créer le fichier `/etc/systemd/system/vaultwarden.service` :
```
[Unit]
Description=Bitwarden Server (Powered by Vaultwarden)
@ -98,107 +98,89 @@ AmbientCapabilities=CAP_NET_BIND_SERVICE
WantedBy=multi-user.target
```
On recharge les services
Recharger les services :
sudo systemctl daemon-reload
On démarre
Redémarrer le service et rendre son démarrage automatique :
sudo systemctl start vaultwarden.service
sudo systemctl enable vaultwarden.service
## Mise à jour de Vaultwarden
### Récupération des mises à jour
On récupère les commits dans le dépôt et on passe sur le tag de la dernière version (`<version>`)
Récupérer les commits dans le dépôt et on passe sur le tag de la dernière version (`<version>`) :
cd ~/vaultwarden/vaultwarden
git fetch
git checkout <version>
### Mise à jour du serveur
On compile avec rust le serveur, en nettoyant bien avant.
Compiler le serveur avec Rust, en nettoyant bien avant :
cargo clean
cargo build --features sqlite --release
Installer le binaire :
On installe le binaire
sudo cp target/release/vaultwarden /usr/bin/vaultwarden
sudo cp ~/vaultwarden/vaultwarden/target/release/vaultwarden /usr/bin/vaultwarden
sudo chmod +x /usr/bin/vaultwarden
On redémarre le service
Redémarrer le service :
sudo systemctl restart vaultwarden.service
## Installation de l'interface web
### Installation des dépendances
On paramètre la source pour la version la plus récente de nodejs
Paramétrer la source pour la version la plus récente de nodejs :
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
On installe nodejs
Installer nodejs :
sudo apt install -y nodejs
sudo npm i npm@latest -g
### Compiler la dernière version de l'interface web
On récupère les sources
Récupèrer les sources :
git clone https://github.com/dani-garcia/bw_web_builds ~/vaultwarden/webvault
On compile
Compiler :
cd ~/vaultwarden/webvault
make full
### Installation de l'interface web
Installer l'interface web :
cd ~/vaultwarden/webvault
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
## Mise à jour de l'interface web
### Mise à jour des dépendances
Mettre à jour les dépendances :
sudo npm i npm@latest -g
### Récupération des mises à jour
On récupère les commits dans le dépôt
Récupérer les commits dans le dépôt :
cd ~/vaultwarden/webvault
git pull
### Compiler la dernière version de l'interface web
Compiler la dernière version de l'interface web :
cd ~/vaultwarden/webvault
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 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