Bitwarden ist eine Open-Source-Plattform für das sichere Verwalten von Passwörtern und sensiblen Informationen. Bitwarden ist nicht nur ein Passwort-Manager, sondern eine umfassende Lösung für die sichere Verwaltung von Zugangsdaten. Egal, ob du einzelne Benutzer oder ein ganzes Team bist, Bitwarden bietet eine benutzerfreundliche Oberfläche, um Passwörter sicher zu speichern, zu organisieren und zu teilen.
Die Plattform zeichnet sich durch ihre Vielseitigkeit aus. Bitwarden ist sowohl als selbstgehostete Lösung als auch in der Cloud verfügbar, und es gibt eine breite Palette von Anwendungen und Browsererweiterungen, um auf deine gespeicherten Daten von verschiedenen Geräten aus zuzugreifen.
Was Bitwarden besonders auszeichnet, ist der Fokus auf Sicherheit. Deine Daten werden Ende-zu-Ende verschlüsselt, und du behältst die Kontrolle über deine eigenen Verschlüsselungsschlüssel. Die Plattform ist nicht nur sicher, sondern auch transparent und wird regelmäßig auf Sicherheitsstandards hin überprüft.
Datum | Änderungen |
---|---|
26.04.2020 | Erstellung des Artikels mit Bitwarden_rs |
14.11.2023 | Komplette Überarbeitung des Artikels. Umstellung auf offizielles Bitwarden |
In dieser Anleitung verwenden wir das offizielle Bitwarden Image.
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
2. Verzeichnis erstellen
Nun erstellen wir ein Verzeichnis, welches wir später nutzen wollen.
Bei diesem Inhalt handelt es sich um exklusiven Content für Community Plus Mitglieder und Supporter.
Bitte logge dich mit deinem Account ein um den Inhalt zu sehen.
10. Neues Konto anlegen
Wenn ihr auf eure Seite geht, dann solltet ihr folgendes sehen:
Hier klickt ihr auf “Konto erstellen”.
Füllt anschließend folgendes aus:
Anschließend solltet ihr folgende E-Mail bekommen, falls alles korrekt läuft:
Anschließend meldet ihr euch an mit eurem neuen Account und solltet folgendes sehen:
Hier könnt ihr nun auch eine Bestätigung der E-Mail Adresse anfordern.
11. Account zum Admin befördern
Nun könnt ihr euren Account zum Admin machen. Dazu öffnet ihr folgende Datei:
nano /opt/containers/bitwarden/bwdata/env/global.override.env
In der letzten Zeile seht ihr folgendes:
adminSettings__admins= Fügt hier euren Account hinzu: adminSettings__admins=euerAccount@mail.de
Nun müsst ihr Bitwarden neu starten, damit die Einstellung übernommen wird.
/opt/containers/bitwarden/./bitwarden.sh restart
Nun geht ihr auf folgende Seite: https://bitwarden.euredomain.de/admin
Hier seht ihr folgendes:
Gebt hier eure Admin E-Mail Adresse ein und ihr solltet folgende E-Mail erhalten:
Nachdem ihr auf den Link in der E-Mail klickt, seid ihr als Administrator eingeloggt und seht folgendes:
hallo
ich habe mich 1 zu 1 an deine anleitung gehalten aber bekomme immer diese meldung:
Kann mir da zufällig jemand helfen?
kurzes Updateskript
Skript erstellen:
nano /opt/containers/bitwarden/bitwarden-pull.sh
Inhalt einfügen:
#!/bin/bash
# v0.1
## Pull Bitwarden Docker
curl -Lso bitwarden.sh “https://func.bitwarden.com/api/dl/?app=self-host&platform=linux” && chmod 700 bitwarden.sh
mv -v bitwarden.sh /opt/containers/bitwarden/
/opt/containers/bitwarden/./bitwarden.sh stop
/opt/containers/bitwarden/./bitwarden.sh rebuild
sed -i ‘/^ *ports:/,/^ *$/ {/ *- ‘\”80:8080’\”/d; / *- ‘\”443:8443’\”/d; / *ports:/d;}’ /opt/containers/bitwarden/bwdata/docker/docker-compose.yml
sed -i ‘s/public/proxy/g’ /opt/containers/bitwarden/bwdata/docker/docker-compose.yml
sed -i ‘s/always/unless-stopped/g’ /opt/containers/bitwarden/bwdata/docker/docker-compose.yml
/opt/containers/bitwarden/./bitwarden.sh start
Skript ausführbar machen:
chmod +x /opt/containers/bitwarden/bitwarden-pull.sh
Skript starten:
sh /opt/containers/bitwarden/bitwarden-pull.sh
kurze Erklärung:
Das beschriebe Skript lädt das aktuelle Skript “bitwarden,sh” herunter (dort ist die aktuelle Version enthalten) und passt die Berechtigung an.
Neues Skript nach /opt/containers/bitwarden verschieben (vorhaltendes Skript wird überschrieben, falls neuer). Option -v gibt einen Status aus, wer möchte kann noch ein -f setzen, damit die Datei überschrieben wird (jedoch nicht notwendig)
Bitwarden Container beenden
Rebuild starten
Entspreche docker-compose-Änderungen auf die neuen Dateien anwenden
Bitwarden Container starten
Für meine Zwecke funktional, wenn jemand Verbesserungsvorschläge hat, gerne her damit.
Leider lande ich beim Aufrufen der Seite immer bei einer “502 Bad Gateway” Meldung?!
Im Netz wird vermutet das es ein Problem mit der Firewall sein soll?
Aber selbst eine deaktivierte Firewall macht keinen Unterschied.
Der Tip von mortuslupus unten funktioniert zwar problemlos, ist aber Vaultwarden.
Auch wenn es angeblich 100% kompatibel sein soll, hätte ich doch gerne das Original.
Hat jemand eine Idee, wo das Problem liegen könnte?
Bei mir kommt nach dem Schritt wo man “EU” als Region eintippt diese Meldung:
Unable to validate installation id. Problem contacting Bitwarden EU server.
Kennt das jemand? Komme so nicht weiter.
VG Hardy
Funktioniert, aber kleiner Hinweis: YubiKey Unterstützung (Plugin) gibt es nur als Premium Kunde. Bei Vaultwarden ist das mit dabei.
Vielen Dank für die Anleitung! Hat mir viel Arbeit gespart.
Leider hat sich in der
noch ein jellyfin eingeschlichen:
Danke für die tolle Anleitung!
Es läuft alles wie es soll bis auf das Ausschalten der Benutzerregestrierung.
Das habe ich in den Settings ausgeschaltet und den Container neu gebaut.
Leider können sich immer noch Benutzer anmelden.
Was mache ich da falsch?
Mfg,STS
Danke für die komplette Überarbeitung dieser Anleitung Christian.
Aktuell bin ich noch old-school mit einer KeePassXC Installation unterwegs. Da ist das Thema der Datensicherung relativ einfach. – backup der .kdbx Datei und fertig.
An ein selbst gehostetet Bitwarden habe ich mich bisher noch nicht heran getraut, weil ich mir unsicher bin wie ich die – heiligen Daten dort – gesichert und im Fall der Fälle wieder eingespielt bekomme. Hat hierzu jemand schon eine gute Strategie und entsprechende Tools im Einsatz? Würde Borg Backup (ist hier auch schon als Anleitung vorhanden , aber hatte ich noch nicht geschafft in Betrieb zu nehmen) hierzuverlässig funktionieren?
Hallo Christian,
warum nimmst Du denn jetzt das offizielle Image? Hat das Vorteile?
Ich war mal so frei und das auf traefik 2.10 umgeschrieben. (2. Punkt)
version: ‘3’
services:
bitwarden:
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
– /opt/containers/bitwarden/data:/data
labels:
– “traefik.enable=true”
– “traefik.http.routers.bitwarden.entrypoints=web”
– “traefik.http.routers.bitwarden.rule=Host(
bitwarden.euredomain.de
)” ## Hier anpassen ##– “traefik.http.routers.bitwarden.middlewares=default@file”
– “traefik.http.routers.bitwarden-secure.entrypoints=websecure”
– “traefik.http.routers.bitwarden-secure.rule=Host(
bitwarden.euredomain.de
)” ## Hier anpassen ##– “traefik.http.routers.bitwarden-secure.tls=true”
– “traefik.http.routers.bitwarden-secure.tls.certresolver=http_resolver”
– “traefik.http.routers.bitwarden-secure.service=bitwarden”
– “traefik.http.services.bitwarden.loadbalancer.server.port=80”
– “traefik.docker.network=proxy”
– “traefik.http.routers.bitwarden-secure.middlewares=default@file”
networks:
– proxy
networks:
proxy:
external: true
zu gute Letzt compose ohne “-” abfeuern (3. Punkt)
docker compose -f /opt/containers/bitwarden/docker-compose.yml up -d
Nach dem erfolgreichen erstellen des eigenen Accounts würde ich auch empfehlen die Registrierung abzuschalten. Hierzu den Container herunterfahren, nach den traefik Labels folgendes einfügen und im Anschluss wieder starten:
environment:
– SIGNUPS_ALLOWED=false
Ich weiß, nichts weltbewegendes aber vor einem Jahr wäre ich froh gewesen wenn mich jemand an die Hand genommen hätte 😅
Bei 3. ist ein Tippfehler oder C+P fehler drinn:
richtig ist
Der Bindestrich muss weg
Hi,
ich versuch grad bitwarden auf “(Host(`meine-domain.de`) && PathPrefix(`/bitwarden`))” zum laufen zu bekommen aber es kommt nur:
404: Not Found
The requested resource could not be found.
Rocket
wenn ich auf https://meine-domain.de/bitwarden gehe
Mach ich was falsch? hab ich was vergessen?
Hallo Christian,
Nachdem ich deine super Anleitung umgesetzt habe, bekomme ich wenn ich die Subdomain aufrufe einen 404 Fehler. Woran könnte das liegen?
VG
Marvin
Hallo Christian,
vielen Dank für die Mühe und gigantische Zeit, die Du investierst, um Leuten zu helfen.
Ich finde deine Anleitungen super und gut verständlich.
Begonnen habe ich mit deinen Anleitungen zum Thema Traefik, hat super funktioniert, danach habe ich auch die Security-Anpassungen vorgenommen, nun bin ich auch bei A+ 🙂
Dann habe ich mich an die Bitwarden Anleitung gewagt und diese bekomme ich nicht hin.
D.h. alles hat funktioniert, der Container wird installiert, die Zertifikate werden erstellt, mache ich auf der Domain den SSL Server Test, bekomme ich auch ein A. D.h. alles sieht gut aus, rufe ich aber meine URL auf, bekomme ich ein “Gateway Timeout”, hast Du einen Tipp für mich?
Beste Grüße
Frank
Hallo Christian
Um es noch mal für Alle klar zu sagen:
Diese Anleitung installiert keinen Bitwarden-Server, sondern Bitwarden RS https://github.com/dani-garcia/bitwarden_rs/.
Der Link am Anfang des Artikels zeigt auf die Original-Bitwarden-Doku.
Die installierte Software meldet sich dann sogar mit “© 2021, Bitwarden Inc.”
Das ist schon maximal verwirrend!!
Man vertraut seine Daten also Dani Garcia an, und nicht Bitwarden Inc.
Das solltest DU auf jeden Fall klarstellen.
Grüße
M
mahlzeit!
Christian: danke für deine super erklärungen und deine compose dateien! damit war ich dann endlich in der lage aus meinem etwas zickigen asustor nas einen homeserver zu realisieren.
an die leute mit dem middleware „secHeaders@file“ does not exist fehler: ihr müßt nicht nur den ssl test durch führen sondern das komplette workaround dann ist der fehler weg und alles läuft wie es soll.
soweit ich weiß gibt es keinerlei funktionalen unterschied zwischen bitwarden_rs und dem orig bitwarden. die einzigen unterschiede sind das ihr keine extra datenbank benötigt und dass das ganze dadurch ressourcen schonender ist das wars dann auch schon. das admin panel bietet übrigens auch die funktion des sperrens der möglichkeit neue accounts zu erstellen.
Hi,
danke für den Artikel für den Einstieg ins Thema! Hast du bereits die WebSocket connection per Traefik realisiert? Das wäre für unser Team wichtig – ggf. muss ich mich noch damit beschäftigen.
Wer es benötigt mit folgenden Zeilen in der Service-Definition kann der Service ohne root Berechtigungen laufen (999999 muss natürlich mit den eigenen Nummern ersetzt werden). Auch die SMTP Konfiguration war bei mir zwingend.
“`
…
env_file: ../.env
user: ${PUID:-999999}:${PGID:-999999}
sysctls:
– net.ipv4.ip_unprivileged_port_start=0
volumes:
– ./bitwarden/data:/data
– /etc/localtime:/etc/localtime:ro
– /etc/timezone:/etc/timezone:ro
…
environment:
# – WEBSOCKET_ENABLED=true
– DOMAIN=http://benoetigt.fuer.die.email.local
– SIGNUPS_ALLOWED=true
– SMTP_HOST=${SMTP_HOST}
– SMTP_FROM=${MAIL_FROM_ADDRESS}
– SMTP_PORT=${SMTP_PORT}
– SMTP_SSL=true
– SMTP_USERNAME=${SMTP_NAME}
– SMTP_PASSWORD=${SMTP_PASSWORD}
…
“`
Hallo Christian,
kannst du mir sagen wie ich das updaten kann
Diagnostics Version
Server Installed Ok 1.18.0
Server Latest 1.18.0
Web Installed Update 2.17.1 <—-
Web Latest 2.18.1
Weißt Du wie das geht?
Vielen Dank vorab, viele Grüße
Oliver
hallo Christian
ich habe Traefik und bitwarden gemäss Deinen Angaben installiert. Traefik und Portainer laufen klaglos.
Nur bitwarden zeigt in Traefik einen Error:
Name: bitwarden-secure@docker
error: middleware “secHeaders@file” does not exist
Was für einen Fehler meint Traefik damit?, resp. was kann ich machen?
Ähhhm eine Frage:
Wenn man deine Anleitung genauso umsetzt, dann kann sich ja jeder auf z.B. bitwarden.meinserver.de einen account anlegen? ist das so richtig?
Wenn ja, wie schützt man sich davor?
VG Hardy
Hallo Christian,
vielen Dank für die tollen Anleitungen! Alles topaktuell und es hat mir sehr weitergeholfen!
Ich versuche nun, aus Ermangelung einer subdomain die Anwendung mit subdirectory zum Laufen zu bekommen.. also anstatt bitwarden.meinedomain.de meinedomain.de/bitwarden
Weißt Du wie das geht?
Vielen Dank vorab, viele Grüße
Stefan
Hallo,
vielen dank erstmal für die Anleitung. Ist leicht nachgestellt.
Paar Fragen habe ich jedoch zu der Konfiguration:
1. Kann ich das offizielle Bitwarden Image auch nutzen? Da ich bei RS einige Funktionen vermisse.
2. Kann ich den Standard Port von Bitwarden in der Docker-Compose direkt beim installieren ändern?
Hi Christian,
vorab dein Blog ist klasse, der hat mir sehr geholfen.
aber zu dem bitwardenrs hier hab ich eine frage.
das ist doch nur das webfrontend in rust (not official)… wie flunche ich denn da das richtige bitwarden ran ?
das ist eine container composition aus vielen microservicen:
installier bar hierrueber:
https://github.com/bitwarden/server/blob/master/scripts/bitwarden.sh
gruesse
Matthias
ps
ich habs nun hinbekommen dort traefik als reverse zu nehmen. (ich hab die tage mein ganzes homelab von nginx/certbot (old but gold – es hat funktioniert) zu traefik migriert, so bin ich auf deinen blog hier aufmerksam geworden.