Bitwarden in Docker betreiben - Setup Schritt für Schritt

This page is also available in English

Bitwarden ist ein webbasierter Passwort-Manager, ähnlich LastPass, aber Open Source und der Möglichkeit diesen selbst zu betreiben (hosten). Wie sich Bitwarden im Vergleich zu anderen Passwort-Managern einordnet, habe ich auf folgender Seite überlegt: Passwort-Manager sicher? KeePass vs. LastPass vs. Bitwarden.

Docker Basics

Docker ermöglicht es, Applikationen per Befehl in einem sogenannten Container zu starten.
Ein Container ist eine vom Betriebssystem (OS) unabhängige isolierte Umgebung:
Das OS spielt also keine Rolle, vorausgesetzt Docker lässt sich installieren.
Beim ersten Start eines Containers, lädt Docker selbstständig alle notwendigen Quellen
aus dem Internet.
Docker kann unter Windows, macOS oder einer Linux-Distribution installiert werden,
siehe auch: Docker

Damit der Aufruf auf meine Webservices über sichere HTTPS-Verbindungen stattfindet, setze ich in Docker einen Let's Encrypt Reverse-Proxy ein. Zuerst habe ich Nginx als Reverse-Proxy verwendet, diesen aber später mit Traefik ersetzt. Der Proxy kümmert sich um die Zertifikatsverwaltung und stellt die Verbindung auf die dahinterliegenden Webservices sicher. So können über eine IP-Adresse und einem Port (gemeinsamer Server) mehrere verschiedene Domänen und dessen Webservices betrieben werden.

Schritt für Schritt

Für den Reverse-Proxy wird folgendes Setup vorausgesetzt:

  1. Hardware auswählen: PC, Notebook oder besser: virtueller Server, Raspberry PI oder eine NAS: QNAP, Synology oder Eigenbau-NAS
  2. virtueller Server eines Providers, oder OS installieren: Windows, Linux
  3. Docker installieren, siehe: Docker
  4. DNS-Eintrag im Internet auf die öffentliche IP-Adresse erstellen und
    nginx-Reverse Proxy Setup: Let's Encrypt Reverse Proxy in der Praxis
Container für Bitwarden:
  1. docker-compose.yml anlegen und anpassen
  2. Container starten und 
  3. Einrichten

Bitwarden docker-compose.yml

Wer alle Voraussetzungen erfüllt hat, kann Bitwarden nach Anlage der folgenden Datei starten:

# docker-compose.yml
version: '3'

services:
  bitwarden:
    image: vaultwarden/server
    restart: always
    expose:
       - "80"
    volumes:
      - ./bw-data:/data
    environment:
      WEBSOCKET_ENABLED: 'true' # Required to use websockets
      SIGNUPS_ALLOWED: 'true'   # set to false to disable signups
      ADMIN_TOKEN: "mytoken2change"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.home.rule=Host(`bitwarden.domain.tld`)"      
      - "traefik.http.routers.home.entrypoints=web"
      - "traefik.http.routers.home.entrypoints=websecure"
      - "traefik.http.routers.home.tls.certresolver=myresolver"
      - "traefik.http.services.home.loadbalancer.server.port=80"
networks:
  default:
    external:
      name: webproxy

Natürlich sollte vor dem Start die Domäne und der ADMIN_TOKEN angepasst werden. 

Container starten

Der eigentliche Start erfolgt wieder mit docker-compose up:

docker-compose up -d

Nach dem Start des Containers meldet sich Bitwarden auf der angegebenen Domäne.

Konto erstellen

Für die Verwendung wird natürlich ein Benutzerkonto vorausgesetzt:

Als Speicher wird für Bitwarden eine SQLite-DB verwendet, diese befindet sich nach dem Starten im Ordner bw-data.

Admin-Portal

Einstellungen zum Setup können im Admin-Portal erfolgen. Für den Zugriff wird der in der docker-compose.yml-Datei festgelegte Admin-Token und die URL "/admin" verwendet:

Damit ich bestimmen kann, wer den Passwort-Manager verwenden kann, habe ich die Signups deaktiviert.

Eingeladene Benutzer können den Passwort-Manager dennoch verwenden. Sollte sich eine unbekannte Person registrieren, wird der folgende Fehler angezeigt:

Ein Fehler ist aufgetreten. Registration not allowed or user already exists. 

SMTP-Settings

Für das Versenden von Mails habe ich folgende Einstellungen verwendet.

Als Mailserver verwende ich dafür folgendes Setup: Docker Mailserver selbst betreiben | ein Erfahrungsbericht

 

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


Top-Artikel in diesem Bereich

Preview ioBroker installieren - Docker

ioBroker installieren - Docker

geändert: 12.11.2020 von Bernhard (Erstveröffentlichung: 06.11.2020)

Mit ioBroker können verschiedene Automatisierungslösungen oder Geräte in einem System zusammengefasst werden. Um bestimmte Gateways oder Geräte ansprechen zu können, werden in ioBroker verschiedene Adapter verwendet.  ... weiterlesen

Preview KeePass synchronisieren mit der Cloud: Der ultimative Guide

KeePass synchronisieren mit der Cloud: Der ultimative Guide

geändert: 21.02.2022 von Bernhard (Erstveröffentlichung: 19.01.2015)

In dem Artikel „Wie verwaltest du deine Passwörter?“ habe ich einige Gedanken zum sicheren Umgang mit Passwörtern beschrieben. Ein möglicher Lösungsansatz, um den Umgang mit Passwörtern sicherer zu gestalten, ist das Verwenden eines Passwortmanagers wie KeePass. KeePass ist freie Software und kann daher völlig kostenlos auf allen möglichen Geräten verwendet werden.  ... weiterlesen

Preview Home-Assistant Docker Conbee 2 und Zigbee2MQTT / deCONZ

Home-Assistant Docker Conbee 2 und Zigbee2MQTT / deCONZ

geändert: 10.08.2022 von Bernhard (Erstveröffentlichung: 06.11.2020)

Dank zahlreicher Integrationsmöglichkeiten ist Home-Assistant eine einfache Plattform für das Steuern verschiedenster Smart-Home Geräte. Im Vergleich zu ioBroker ist mir der Start mit Home Assistant wesentlich einfacher gefallen. Während ich für ioBroker noch am Suchen war, welches Frontend ich für meine Dashboards verwenden könnte, hatte ich mit Home-Assistant out of the box ein fertig eingerichtetes System. Die Lovelance Dashboards von Home Assistant können einfach in der GUI zusammengeklickt... ... weiterlesen


Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
21.04.2022 10:03
Man sieht immer viele Docker Guides, aber niemand nimmt sich des Themas Backup an.
Wie sichere ich den die Daten von bitwarden, wenn ich es im docker betreibe?

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details