Linux Offline-Bereitstellung
Dieser Artikel führt Sie durch das Verfahren zur Installation und Bereitstellung von Bitwarden auf Ihrem eigenen Server in einer offline oder luftdicht abgeschotteten Umgebung. Bitte überprüfen Sie die Dokumentation zur Software-Release-Unterstützung von Bitwarden.
warning
Manuelle Installationen sollten nur von fortgeschrittenen Benutzern durchgeführt werden. Fahren Sie nur fort, wenn Sie sehr vertraut mit Docker-Technologien sind und mehr Kontrolle über Ihre Bitwarden-Installation wünschen.
Manuelle Installationen haben nicht die Fähigkeit, bestimmte Abhängigkeiten der Bitwarden-Installation automatisch zu aktualisieren. Wenn Sie von einer Version von Bitwarden auf die nächste upgraden, sind Sie verantwortlich für Änderungen an erforderlichen Umgebungsvariablen, Änderungen an nginx default.conf, Änderungen an docker-compose.yml und so weiter.
Wir werden versuchen, diese in den Veröffentlichungsnotizen auf GitHub hervorzuheben. Sie können auch Änderungen an den Abhängigkeitsvorlagen überwachen, die vom Bitwarden-Installationsskript auf GitHub verwendet werden.
Bevor Sie mit der Installation fortfahren, stellen Sie bitte sicher, dass die folgenden Anforderungen erfüllt sind:
Docker Engine und Docker Compose sind auf Ihrem Server installiert und einsatzbereit.
Mit einem internetfähigen Gerät haben Sie die neueste
docker-stub.zipDatei aus dem Bitwarden Server Repositorys Releases-Seite heruntergeladen und diese Datei auf Ihren Server übertragen.Ein offline SMTP-Server ist in Ihrer Umgebung eingerichtet und aktiv.
note
Bitwarden wird derzeit nur in einer Docker- und Docker Compose-Umgebung unterstützt. Die Installationsskripte von Bitwarden und manuelle Installationsartefakte lassen sich nicht genau in Kubernetes-Manifeste umwandeln, ohne umfangreiches Wissen über den Bitwarden-Stack und Kubernetes. Automatische Konvertierungen der Installationsartefakte werden derzeit nicht empfohlen und könnten zu einer defekten Bereitstellungsumgebung führen.
Minimum | Empfohlen | |
|---|---|---|
Prozessor | x64, 1,4GHz | x64, 2GHz Dual-Core |
Erinnerung | 2GB RAM | 4GB RAM |
Speicher | 12GB | 25GB |
Docker-Version | Motor 19+ und Komponieren 1.24+ | Motor 19+ und Komponieren 1.24+ |
Standardmäßig wird Bitwarden über die Ports 80 (http) und 443 (https) auf dem Host-Rechner bereitgestellt. Öffnen Sie diese Ports, damit auf Bitwarden sowohl innerhalb als auch außerhalb des Netzwerks zugegriffen werden kann. Sie können sich während der Installation für verschiedene Ports entscheiden.
Wir empfehlen die Konfiguration eines Domainnamens mit DNS-Einträgen, die auf Ihre Host-Maschine verweisen (zum Beispiel bitwarden.example.com), insbesondere wenn Sie Bitwarden über das Internet bereitstellen.
Wir empfehlen, Ihren Server mit einem dedizierten Bitwarden-Dienstkonto zu konfigurieren, von dem aus Sie Bitwarden installieren und ausführen können. Wenn Sie dies tun, wird Ihre Bitwarden-Instanz von anderen Anwendungen auf Ihrem Server isoliert.
Diese Schritte sind von Bitwarden empfohlene Best Practices, sind jedoch nicht erforderlich. Für weitere Informationen, siehe Docker's Nachinstallations-Schritte für Linux Dokumentation.
Erstellen Sie einen Bitwarden-Benutzer:
Bashsudo adduser bitwardenLegen Sie ein Passwort für den Bitwarden-Benutzer fest:
Bashsudo passwd bitwardenErstellen Sie eine Docker-Gruppe (falls diese noch nicht existiert):
Bashsudo groupadd dockerFügen Sie den Bitwarden-Benutzer zur Docker-Gruppe hinzu:
Bashsudo usermod -aG docker bitwardenErstellen Sie ein Bitwarden-Verzeichnis:
Bashsudo mkdir /opt/bitwardenSetzen Sie die Berechtigung für das
/opt/BitwardenVerzeichnis:Bashsudo chmod -R 700 /opt/bitwardenSetzen Sie den Bitwarden-Benutzerbesitz des
/opt/bitwardenVerzeichnisses:Bashsudo chown -R bitwarden:bitwarden /opt/bitwarden
warning
Wenn Sie einen Bitwarden-Benutzer & Verzeichnis erstellt haben, führen Sie die folgenden Schritte als Bitwarden-Benutzer aus dem /opt/bitwarden Verzeichnis aus. Installieren Sie Bitwarden nicht als Root, da Sie während der Installation auf Probleme stoßen werden.
Um Ihre Maschine mit den erforderlichen Ressourcen für Ihren Bitwarden-Server zu konfigurieren:
Erstellen Sie ein neues Verzeichnis namens
bwdataund extrahieren Siedocker-stub.zipdarin, zum Beispiel:Bashunzip docker-stub-US.zip -d bwdataEinmal entpackt, wird das Verzeichnis
bwdatadem entsprechen, was die Volumenzuordnung der Dateidocker-compose.ymlerwartet. Sie können, wenn Sie möchten, den Standort dieser Zuordnungen auf dem Host-Computer ändern.In
./bwdata/env/global.override.env, bearbeiten Sie die folgenden Umgebungsvariablen:globalSettings__baseServiceUri__vault=: Geben Sie die Domain Ihrer Bitwarden-Instanz ein.globalSettings__sqlServer__ConnectionString=: Ersetzen Sie dasZUFÄLLIGES_DATENBANK_PASSWORTdurch ein sicheres Passwort, das Sie in einem späteren Schritt verwenden werden.globalSettings__identityServer__certificatePassword: Legen Sie ein sicheres Zertifikat-Passwort für die Verwendung in einem späteren Schritt fest.globalSettings__internalIdentityKey=: Ersetzen SieRANDOM_IDENTITY_KEYdurch eine zufällige Schlüsselzeichenfolge.globalSettings__oidcIdentityClientKey=: Ersetzen SieRANDOM_IDENTITY_KEYdurch eine zufällige Schlüsselzeichenfolge.globalSettings__duo__aKey=: Ersetzen SieRANDOM_DUO_AKEYdurch eine zufällige Schlüsselzeichenfolge.globalSettings__installation__id=: Geben Sie eine Installations-ID ein, die Sie von https://bitwarden.com/host abgerufen haben.globalSettings__installation__key=: Geben Sie einen Installations-Schlüssel ein, den Sie von https://bitwarden.com/host abgerufen haben.globalSettings__pushRelayBaseUri=: Diese Variable sollte leer sein. Siehe Konfigurieren Sie Push-Relay für weitere Informationen.tip
Betrachten Sie zu diesem Zeitpunkt auch das Festlegen von Werten für alle
globalSettings__mail__smtp__Variablen und füradminSettings__admins. Dies wird den SMTP-Mailserver konfigurieren, der verwendet wird, um Einladungen an neue Mitglieder der Organisation zu senden und den Zugang zum Systemadministrator-Portal bereitzustellen.
Aus
./bwdata, generieren Sie eine.pfxZertifikatsdatei für den Identität-Container und verschieben Sie diese in das zugeordnete Volumenverzeichnis (standardmäßig,./bwdata/identity/). Zum Beispiel, führen Sie die folgenden Befehle aus:Bashopenssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950und
Bashopenssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORDErsetzen Sie in dem obigen Befehl
IDENTITY_CERT_PASSWORDdurch das Passwort des Zertifikats, das in Schritt 2 erstellt und verwendet wurde.Kopieren Sie
identity.pfxin das Verzeichnis./bwdata/ssl.Erstellen Sie ein Unterverzeichnis in
./bwdata/ssl, benannt nach Ihrer Domain, zum Beispiel:Bashmkdir ./ssl/bitwarden.example.comStellen Sie ein vertrauenswürdiges SSL-Zertifikat und einen privaten Schlüssel im neu erstellten Unterverzeichnis
./bwdata/ssl/bitwarden.example.combereit.note
Dieses Verzeichnis ist dem NGINX-Container unter
/etc/sslzugeordnet. Wenn Sie kein vertrauenswürdiges SSL-Zertifikat bereitstellen können, stellen Sie die Installation mit einem Proxy vor, der den Bitwarden-Client-Anwendungen einen HTTPS-Endpunkt bereitstellt.In
./bwdata/nginx/default.conf:Ersetzen Sie alle Instanzen von
bitwarden.example.comdurch Ihre Domain, einschließlich imContent-Security-RichtlinienHeader.Setzen Sie die Variablen
ssl_certificateundssl_certificate_keyauf die Pfade des Zertifikats und des privaten Schlüssels, die in Schritt 6 angegeben sind.Führen Sie eine der folgenden Aktionen durch, abhängig von Ihrer Zertifikateinrichtung:
Wenn Sie ein vertrauenswürdiges SSL-Zertifikat verwenden, setzen Sie die Variable
ssl_trusted_certificateauf den Pfad zu Ihrem Zertifikat.Wenn Sie ein selbstsigniertes Zertifikat verwenden, kommentieren Sie die Variable
ssl_trusted_certificateaus.
In
./bwdata/env/mssql.override.env, ersetzen SieRANDOM_DATABASE_PASSWORDmit dem Passwort, das in Schritt 2 erstellt wurde.In
./bwdata/web/app-id.json, ersetzen Siebitwarden.example.commit Ihrer Domain.In
./bwdata/env/uid.env, setzen Sie die UID und GID derBitwardenBenutzer und Gruppe, die Sie früher erstellt haben, damit die Container unter ihnen laufen, zum Beispiel:BashLOCAL_UID=1001 LOCAL_GID=1001
Um Docker-Images für die Verwendung auf Ihrem Offline-Rechner zu erhalten:
Laden Sie von einer mit dem Internet verbundenen Maschine alle
bitwarden/xxx:latestDocker-Bilder herunter, wie sie in der Dateidocker-compose.ymlindocker-stub.zipaufgelistet sind.Speichern Sie jedes Bild in einer
.imgDatei, zum Beispiel:Bashdocker image save -o mssql.img ghcr.io/bitwarden/mssql:latestÜbertragen Sie alle
.imgDateien auf Ihren Offline-Rechner.Auf Ihrem Offline-Rechner laden Sie jede
.imgDatei, um Ihre lokalen Docker-Bilder zu erstellen, zum Beispiel:Bashdocker image load -i mssql.img
Starten Sie Ihren Bitwarden-Server mit dem folgenden Befehl:
Bashdocker compose -f ./docker/docker-compose.yml up -d
Überprüfen Sie, ob alle Container korrekt laufen:
Bashdocker ps

Gratulation! Bitwarden läuft jetzt unter https://your.domain.com. Besuchen Sie den Web-Tresor in Ihrem Browser, um zu bestätigen, dass er funktioniert.
Sie können sich jetzt ein neues Konto registrieren und anmelden. Sie müssen SMTP-Umgebungsvariablen konfiguriert haben (siehe Umgebungsvariablen), um die E-Mail-Adresse für Ihr neues Konto zu verifizieren.
Wenn Sie planen, eine Bitwarden Organisation selbst zu hosten, sehen Sie eine Organisation selbst hosten um zu beginnen.
Für weitere Informationen siehe FAQs zum selbst gehosteten.
Die Aktualisierung eines selbst gehosteten Servers, der manuell installiert und bereitgestellt wurde, unterscheidet sich von dem Standard-Aktualisierungsverfahren. Um Ihre manuell installierte Server-Aktualisierung durchzuführen:
Laden Sie das neueste
docker-stub.zipArchiv von den Veröffentlichungsseiten auf GitHub herunter.Entpacken Sie das neue
docker-stub.zipArchiv und vergleichen Sie dessen Inhalt mit dem, was derzeit in IhrembwdataVerzeichnis ist, und kopieren Sie alles Neue in die bereits vorhandenen Dateien inbwdata.
Überschreiben Sie Ihr bereits vorhandenes bwdata- Verzeichnisnichtmit dem Inhalt des neuerendocker-stub.zip-Archivs, da dies alle von Ihnen durchgeführten benutzerdefinierten Konfigurationsarbeiten überschreiben würde.Laden Sie die neuesten Containerbilder herunter und übertragen Sie sie auf Ihren Offline-Rechner wie oben dokumentiert.
Führen Sie den folgenden Befehl aus, um Ihren Server mit Ihrer aktualisierten Konfiguration und den neuesten Containern neu zu starten:
Bashdocker compose -f ./docker/docker-compose.yml down && docker compose -f ./docker/docker-compose.yml up -d