Vaultwarden ist jetzt schon sehr lange in aller Munde und wird immer immer beliebter. Dabei ist für die es nicht wissen, Vaultwarden die kostenlose Vollversion von dem Original Bitwarden. Natürlich ist das nicht direkt vom Hersteller, sondern von einer außenstehenden Person die das komplett geforkt hat. Aber keine Sorge, es ist genauso Sicher und Stabil wie das Original. Ich würde wetten auf dem Markt findet man 90% Vaultwarden und 10% Bitwarden. Und das alles natürlich Selfhosted. Wie das geht auf dem Raspberry Pi zeige ich euch hier.

Alle Informationen zum Vaultwarden Projekt findet Ihr zusätzlich auf der GitHub Seite. Github Seite

AngebotBestseller Nr. 1
Raspberry Pi 5 8 GB
  • Quad-Core-ARMA76-Prozessor (64-Bit – 2,4 GHz) °Integrierte VideoCore VII 800 MHz GPU °2- bis 3-mal mehr Leistung als Version 4
  • Deutlich verbesserte Grafikwiedergabe ° Hochgeschwindigkeits-Micro-SD ° 2x 4K-60 fps gleichzeitig anzeigen
  • 2x USB 3.0 5GBps ° 2x 4-Wege-MIPI-DSI/CSI-Anschlüsse
Bestseller Nr. 2
Raspberry Pi 5 4GB
  • Ändern : Neue Eigenschaften : EIN/AUS-Taste ¤ PCIe 2.0-Anschluss Integrierter RTC-Anschluss
  • 5V/5A DC-Stromversorgung über USB-C
  • Raspberry Pi 5 unterstützt Dual 4K-Displays über seine HDMI-Anschlüsse

Vaultwarden Installationsanleitung auf dem Raspberry Pi

Als erstes sollte man das System auf den aktuellsten Stand der Dinge bringen und Docker als unsere Grundlage installieren. Die Docker Umgebung kann man dann auch sehr gerne noch für weitere Container nutzen. Z.B. für ein Pi-Hole wer möchte. Anleitung findet Ihr hier.

System Updaten & Docker installieren

# System Updaten und aufräumen
sudo apt update && apt upgrade -y && apt autoclean

#Docker Installieren
sudo apt install docker.io -y

#Docker bei jedem Start ausführen
sudo systemctl enable --now docker

#Zu guter Letzt gib dem Benutzer Pi Docker Berechtigungen
sudo usermod -aG docker pi

System vorbereiten für den Container

## Ordner anlegen für die Konfiguration und die Daten
mkdir /home/pi/vaultwarden_data

Vaultwarden Container erstellen

docker run -d -it --name bitwarden \
  -e ADMIN_TOKEN=Ein_Schweres_Passwort_fuer_den_Adminzugang \
  -v /home/pi/vaultwarden_data:/data/ \
  -p 8555:80 \
  -p 3012:3012 \
  --restart=always \
  vaultwarden/server:latest

Ich habe erstmal den Port 80 auf den Port 8555 gemappt. Somit ist jetzt erstmal Vaultwarden auf dem Port 8555 erreichbar. Testen könnt Ihr das unter folgender URL. http://<IP-Vom-Raspberry-Pi>:8555

Wieso habe ich das gemacht? Vaultwarden lässt nur eine Registrierung zu wenn eine Verbindung über HTTPS erfolgt. Und hier hat unser Vault noch ein Problem. Von Hause aus kann es das nicht. Daher werden wir jetzt auf die schnelle und OHNE Lets Encrypt einen Nginx Proxy Manager erstellen.

Vaultwarden HTTPS Problem
Vaultwarden HTTPS Problem

Nginx Proxy Manager erstellen

#Für den Proxy Manager Volumes erstellen. Eins für die Konfigurationen und eins für spätere Zertifikate
mkdir /home/pi/npm_data
mkdir /home/pi/npm_letsencrypt

docker run -d -it --name npm\
  -v /home/pi/npm_data:/data \
  -v /home/pi/npm_letsencrypt:/etc/letsencrypt \
  -p 80:80 \
  -p 81:81 \
  -p 443:443 \
  -e DB_SQLITE_FILE="/data/database.sqlite" \
  --restart=always \
  jc21/nginx-proxy-manager:latest

Hier kann man nun sehen die Ordner werden wieder verknüpft und es werden die Ports 80,81 und 443 genutzt. Port 81 wird benutzt um auf die Coole Nignx Proxy Manager Web Gui zu kommen.
Also los, öffne die GUI unter http://<IP-Vom-Raspberry-Pi>:81

Die Standard Benutzername lautet „admin@example.com“ und das Passwort „changeme„. Bei der ersten Anmeldung bitte der NPM euren Namen und E-Mail einzugeben. Ebenfalls wird er euch bitten das Passwort zu ändern.

Bevor wir hier aber weiter machen, werden wir nun ein selbst signiertes Zertifikat anlegen und dieses auf unserem PC abspeichern. Auf dem Raspberry Pi brauchen wir dafür das OpenSSL Paket.

Custom SSL Zertifikat erstellen

## OpenSSL Installieren
sudo apt install openssl

##Zertifikat Generieren
openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key

#Füllt bitte die Abfragen so für euch passend aus. In dem Punkt Common Name füllt Ihr bitte die URL aus worauf Ihr später den Bitwarden erreichen möchtet.

Generating a RSA private key
...................++++
................................................................................................................................................................++++
writing new private key to 'example.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:NRW
Locality Name (eg, city) []:Muelheim an der Ruhr
Organization Name (eg, company) [Internet Widgits Pty Ltd]:schroederdennis.de
Organizational Unit Name (eg, section) []:schroederdennis.de
Common Name (e.g. server FQDN or YOUR name) []:vault.schroederdennis.de
Email Address []:vault@schroederdennis.de
AngebotBestseller Nr. 1
AngebotBestseller Nr. 2
Synology DS223J 2 Bay Desktop NAS, weiß
Synology DS223J 2 Bay Desktop NAS, weiß
CPU Realtek 1,4 GHz; 1 GB DDR4-Speicher; 2 x USB 3.2 Gen 1; 1 GbE RJ45 LAN; 2 x 3,5p oder 2,5p HDD/SSD Steckplätze
−34,09 EUR 185,90 EUR Amazon Prime

Dabei werden 2 Dateien erstellt welche Ihr auf euren PC herunter laden müsst. Ich verwende da immer das kleine Programm WINSCP. Damit lassen sich Dateien via SSH super einfach auf den PC kopieren. Findet Ihr schon selber raus. Die erstellen Dateien liegen natürlich in dem /home/pi Verzeichnis und heißen: example.crt & example.key.

Mit diesen zwei Dateien erstellen wir nun ein „Custom Certifcate“ im Proxy Manager. Einfach unter SSL Certificates ein Custom Zertifikat hinzufügen und wie im Bild zu sehen ausfüllen.

Proxy Host hinzufügen

Zu guter Letzt brauchen wir nur noch den Proxy Host hinzufügen. Fülle die Felder wie im Bild zu sehen einfach aus und wählt unter dem Reiter SSL euer selbst signiertes Zertifikat aus. Und das wars auch schon.

Bestseller Nr. 1
Intel® Core™ i5-14600KF Desktop Processor 14 cores (6 P-cores + 8 E-cores) up to 5.3 GHz
  • Intel Smart Cache:
  • 125 W Prozessor-Grundleistung
  • Die Intel Core i5 Desktop-Prozessoren der 14. Generation sind für Gamer und Produktivität optimiert und sorgen für eine hohe Leistung