Carstens Blog

Password Manager Bitwarden aktualisieren

Veröffentlicht (Aktualisiert: ) in Blog.

Jeder sollte einen benutzen, einen Password Manager! Nachdem ich lange Zeit 1Password verwendet habe, bin ich vor ca. 2 Jahren zu Bitwarden gewechselt. Zum einen deswegen, weil ich nicht mehr bereit war für 1Password zu bezahlen und zum anderen, weil es möglich war, den Server für Bitwarden auf meinem uberspace zu installieren.

Heute wollte ich mal wieder das Update-Prozedere durchlaufen lassen, bevor mein dafür eigens erstellter Testaccount abläuft. Es ist nämlich so, dass der Server (heißt mittlerweile Vaultwarden) in Rust programmiert ist und sehr viele Pakete und ziemlich viel RAM benötigt. Auf meinem Hauptaccount ist dafür nicht mehr genug Platz und durch die Dienste auch nicht mehr genug freier RAM vorhanden. Also musste ich das immer auf einem frischen Account kompilieren und das Binary dann auf den Hauptaccount kopieren.

Aktualisierte Anleitung

Doch zu meiner Überraschung hat sich die Anleitung für Vaultwarden ziemlich verändert und wurde gründlich überarbeitet. Der Server muss nun nicht mehr kompiliert werden, sondern wird mithilfe eines Scripts heruntergeladen welches den Inhalt eines fertigen Docker-Images benutzt. Das spart nicht nur RAM und Speicherplatz, sondern auch extreme viel Zeit. Kompilieren des Binary hat meistens um die 30 Minuten, wenn nicht länger gedauert. Der neue Vorgang mit Dateien sichern, Image laden, Dateien zurückkopieren geht viel, viel schneller.

Auch lässt sich das Web-Interface einfacher aktualisieren, da die Dateien wesentlich zugänglicher im Archiv verpackt sind.

Update durchführen

Nach dem Sichern der vorhandenen Installation habe ich den Ordner umbenannt in „_old“ und bin nach neuer Anleitung vorgegangen. Konfigurationsdatei „.env“ und „data“ Verzeichnis habe ich aus vorheriger Installation übernommen. Nach kurzem Test und erreichen der Weboberfläche habe ich noch das Servicescript und Backupscript angepasst. Hier musste ich nur die Angabe des Vaultwarden Verzeichnisses ändern, damit alles wieder funktioniert.

Backup Script

#!/bin/bash
# This script will stop the service, backup the data folder including 
# the database, the attachments and keys of your vaultwarden installation.
# Only the last 14 backups will be kept. If you want to keep more or less, please
# adjust the time on the last line of the script

# for this script to work to work adjust the following 4 folders to your environment

# timestamp added to the backup filename e.g. 20220130-1325
NOW=$(date +'%Y%m%d-%H%M')

# the backup dir where you want to store the backups
BACKUP_DIR="$HOME/backups/vaultwarden-backups"

# name of the backup file
BACKUP_ZIP="vw-backup-$NOW.tgz"

# folder of your vaultwarden installation
VW_DIR="$HOME/vaultwarden/output"

# the name of the vaultwarden service
VW_SERVICE="vaultwarden"
#-----------------------------------------------

# stop the service
supervisorctl stop ${VW_SERVICE}

# create an archive in the backup folder
cd ${VW_DIR}
tar -czf ${BACKUP_DIR}/${BACKUP_ZIP} .env data
cd -

# start service again 
supervisorctl start ${VW_SERVICE}

# Delete files older than 14 days
find $BACKUP_DIR -type f -mtime +13 -name \*.tgz -exec rm {} \;