Bitwarden
Inhalt
Ich werde diese Anleitung hierher migrieren. Wenn es schon vorher interessiert, der kann es hier lesen.
WIP (work in progress)
Bitwarden = Vaultwarden
Vorbereitungen
Den Server vorbereiten heißt, am Server anmelden und in die bekannte Struktur einen neuen Ordner erstellen. In diesen schreibe ich die Konfiguration für docker compose.
mkdir -p /opt/containers/bitwarden/{data,config}
vi /opt/containers/bitwarden/docker-compose.yml
Für alle die vi nicht kennen gibt es hier einen kurzen Exkurs in dessen Handhabung. Wenn Du dem Link nicht folgen magst, hier die TL;DR-Version. Mit dem obigen Befehl öffnet vi die angegebene Datei.
- Auf dem Keyboard
idrücken, woraufhin im unteren Bereich des Fensters — INSERT — erscheint und vi in den Texteingabe-Modus versetzt wird. - Text einfügen oder schreiben. Die Navigation innerhalb des Dokuments erfolgt mit den Pfeiltasten.
- Wenn alles übertragen, geschrieben oder modifiziert ist, wird mit folgenden Tasten bzw. Tastenkombinationen gesichert:
ESC
:x
ENTER
(Escape-Taste, dann Doppelpunkt, dann x, dann ENTER)
Bitwarden mit docker compose
Der Inhalt, der in die docker-compose.yml übertragen wird, umfasst die bekannten Elemente. Namen, Restart-Anweisung, Image und die Volumes, die ich mappen will.
Ich habe einige Kommentare eingefügt, die anzeigen, was Du für Deine Laufzeitumgebung ändern musst.
version: '3.9'
services:
bitwarden:
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- /opt/containers/bitwarden/data:/data
- /opt/containers/bitwarden/config:/etc/bitwarden
labels:
- "traefik.enable=true"
- "traefik.http.routers.bitwarden.entrypoints=http"
# set domain / Domain setzen
- "traefik.http.routers.bitwarden.rule=Host(`vault.tolledomain.tld`)"
- "traefik.http.middlewares.bitwarden-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.bitwarden.middlewares=bitwarden-https-redirect"
- "traefik.http.routers.bitwarden-secure.entrypoints=https"
# set domain / Domain setzen
- "traefik.http.routers.bitwarden-secure.rule=Host(`vault.tolledomain.tld`)"
- "traefik.http.routers.bitwarden-secure.tls=true"
- "traefik.http.routers.bitwarden-secure.tls.certresolver=http"
- "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=secHeaders@file"
environment:
# uncomment to deactivate the admin panel / auskommentieren um Adminpanel zu laden
# our password, to be hashed will be / das zu hashende Passwort wird
# "ShuffleRandom1234%$!"
# ADMIN_TOKEN: '$argon2id$v=..$m=...,t0p=...+...+' # see below / siehe unten!
SIGNUPS_ALLOWED: 'false'
INVITATIONS_ALLOWED: 'true'
SHOW_PASSWORD_HINT: 'true'
WEBSOCKET_ENABLED: 'true'
networks:
- proxy
networks:
proxy:
external: true
Geschlossen und gespeichert wird die Konfiguration in vi wieder mit ESCAPE:x:ENTER. Und bevor ich noch auf die environment eingehe, starte ich den Container schon mal an.
docker compose /opt/containers/bitwarden/docker-compose.yml up -d
Unter environment habe ich einige Elemente eingefügt, die meiner Ansicht nach von Vorteil sind.
bitwarden aufrufen und als Benutzer registrieren
Das ist jetzt der wichtig(st)e Schritt. Du rufst nach einer kleinen Gedenkminute den URL auf, unter dem Du den Server registriert hast. In der Gedenkminute seit dem Start des Containers, konnte docker den Container starten und ein SSL-Zertifikat einrichten.
traefik.http.routers.bitwarden.rule=Host(`vault.tolledomain.tld`)
Folge hier einfach den Anweisungen: Benutzername (E-Mailadresse) und Master-Passwort. Mehr braucht es zunächst nicht, weshalb ich mir auch die weiteren Erörterungen an dieser Stelle sparen möchte. (Und es gibt auch keine Bilder! … bis auf eins)

Vaultwarden GUI
Adminzugang absichern
In der docker-compose.yml gibt es im Bereich environment einige Parameter, die man setzen kann (nicht muss). Die aber für die weitere Administration und Nutzung schon einen Mehrwert ringen.
ADMIN_TOKEN enthält das Kennwort für die Admin-Oberfläche /admin. Wenn Du das Kommentarzeichen # entfernst, kann man sich dort nicht anmelden. Diese Direktive nimmt demnach zwei Aufgaben war. Sie bestimmt ob man sich, oder ob man sich nicht anmelden kann und bestimmt das entsprechend notwendige Kennwort.

Admin Login