diff --git a/README.md b/README.md index a9d9af2..8bffcd8 100644 --- a/README.md +++ b/README.md @@ -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 -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 (``) +Récupérer les commits dans le dépôt et on passe sur le tag de la dernière version (``) : cd ~/vaultwarden/vaultwarden git fetch git checkout -### 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_ /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 à `` : -On installe la version correspondant à `` - - cd ~/vaultwarden/webvault sudo rm -r /var/lib/vaultwarden/web-vault - sudo cp -R builds/bw_web_ /var/lib/vaultwarden/web-vault + sudo cp -R ~/vaultwarden/webvault/builds/bw_web_ /var/lib/vaultwarden/web-vault -Correction des droits +Corriger les droits : sudo chown -R vaultwarden:vaultwarden /var/lib/vaultwarden