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

Bestseller Nr. 1
Raspberry Pi 4 Modell B; 4 GB, ARM-Cortex-A72 4 x, 1,50 GHz, 4 GB RAM, WLAN-ac, Bluetooth 5, LAN, 4 x USB, 2 x Micro-HDMI
  • Broadcom BCM2711, Quad-Core-Cortex-A72 (ARM Version 8), 64-Bit-SoC mit 1, 5 GHz, 4 GB LPDDR4-2400-SDRAM, 2, 4 GHz und 5, 0 GHz IEEE 802. 11b/g/n/ac WLAN, Bluetooth 5. 0, BLE.
  • True-Gigabit-Ethernet; 2 x USB-3. 0-Ports; 2 x USB-2. 0-Ports; erfordert 5, 1 V, 3 A Strom über USB-C oder GPIO.
  • Vollständig abwärtskompatibler 40-poliger GPIO-Header; 2 x Micro-HDMI-Ports unterstützen bis zu 4 K, 60 Hz Videoauflösung; zweizeilige MIPI-DSI/CSI-Schnittstellen für Kamera und Display.

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
Bestseller Nr. 1
AMD Ryzen 5 5600G mit AMD Radeon Grafik (6x 3,9 GHz) 19MB Sockel AM4 CPU BOX
AMD Ryzen 5 5600G mit AMD Radeon Grafik (6x 3,9 GHz) 19MB Sockel AM4 CPU BOX
3,9 GHz Betriebsfrequenz, L3-Buchse; Ryzen 5 Serie; AMD Boxed Desktop CPU; AMD Ryzen 5 5600G mit 16MB Cache
175,99 EUR
Bestseller Nr. 2
AMD Ryzen 5 5500 Prozessor (Basistakt: 3.6GHz, Max. Leistungstakt: bis zu 4.2GHz, 6 Kerne, L3-Cache 16MB, Socket AM4) 100-100000457BOX, Schwarz
AMD Ryzen 5 5500 Prozessor (Basistakt: 3.6GHz, Max. Leistungstakt: bis zu 4.2GHz, 6 Kerne, L3-Cache 16MB, Socket AM4) 100-100000457BOX, Schwarz
Basistakt: 3.6GHz, Max. Leistungstakt: bis zu 4.2GHz; Anzahl der CPU-Kerne: 6, Anzahl von Threads: 12
149,00 EUR

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
Synology DS420+ 4Bay NAS
Synology DS420+ 4Bay NAS
2x M.2 SSD slots für SSD´s; 4 x 3.5" oder 2.5" SATA HDD/SSD; 2 x USB 3.0 Port; Intel Celeron J4025 2-core 2.0 GHz (bis zu 2.9GHz Boost)
−38,70 EUR 479,00 EUR
AngebotBestseller Nr. 2
Synology DS220+ 2 Bay Desktop NAS - Netzwerkspeicher Gehäuse (2GB RAM)
Synology DS220+ 2 Bay Desktop NAS - Netzwerkspeicher Gehäuse (2GB RAM)
2 x 1GbE LAN-Anschluss
−50,36 EUR 319,64 EUR

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.

AngebotBestseller Nr. 1