Linux handmatige installatie
Dit artikel leidt je door de procedure om Bitwarden handmatig te installeren en te implementeren op je eigen server. Raadpleeg de documentatie voor ondersteuning bij het uitbrengen van Bitwarden software.
warning
Handmatige installaties mogen alleen worden uitgevoerd door gevorderde gebruikers. Ga alleen verder als u goed bekend bent met Docker-technologieën en meer controle wilt over uw Bitwarden-installatie.
Handmatige installaties hebben niet de mogelijkheid om bepaalde afhankelijkheden van de Bitwarden-installatie automatisch bij te werken. Bij het upgraden van de ene versie van Bitwarden naar de volgende bent u verantwoordelijk voor wijzigingen in vereiste omgevingsvariabelen, wijzigingen in nginx default.conf, wijzigingen in docker-compose.yml, enzovoort.
We zullen proberen deze te benadrukken in de release notes op GitHub. Je kunt ook wijzigingen in de afhankelijkheidssjablonen die worden gebruikt door het installatiescript van Bitwarden volgen op GitHub.
Voordat je verder gaat met de installatie, moet je ervoor zorgen dat Docker Engine en Docker Compose zijn geïnstalleerd en klaar zijn voor gebruik op je server en dat je machine voldoet aan de vereiste systeemspecificaties.
Als u uw eigen Bitwarden-images bouwt, zijn officiële .NET Core Runtime-images (te downloaden van DockerHub) van dezelfde grote releaseversie als Bitwarden-images vereist.
Minimaal | Aanbevolen | |
|---|---|---|
Processor | x64, 1,4GHz | x64, 2GHz dual core |
Geheugen | 2GB RAM | 4 GB RAM |
Opslag | 12 GB | 25 GB |
Docker-versie | Engine 19+ en Compose 1.24+ | Engine 19+ en Compose 1.24+ |
We raden u aan uw server te configureren met een specifiek bitwarden-serviceaccount van waaruit Bitwarden wordt geïnstalleerd en uitgevoerd. Hierdoor wordt uw Bitwarden-instantie geïsoleerd van andere toepassingen die op uw server draaien.
Deze stappen zijn door Bitwarden aanbevolen best practices, maar zijn niet verplicht. Voor meer informatie, zie Docker's post-installatie stappen voor Linux documentatie.
Maak een bitwarden-gebruiker aan:
Bashsudo adduser bitwardenStel een wachtwoord in voor de bitwarden gebruiker:
Bashsudo passwd bitwardenMaak een docker groep aan (als die nog niet bestaat):
Bashsudo groupadd dockerVoeg de bitwarden gebruiker toe aan de docker groep:
Bashsudo usermod -aG docker bitwardenMaak een bitwardenmap:
Bashsudo mkdir /opt/bitwardenStel rechten in voor de map
/opt/bitwarden:Bashsudo chmod -R 700 /opt/bitwardenDe bitwarden gebruiker eigenaar maken van de
/opt/bitwardendirectory:Bashsudo chown -R bitwarden:bitwarden /opt/bitwarden
warning
Als u een Bitwarden-gebruiker en -map hebt gemaakt, voert u het volgende uit als de bitwarden-gebruiker vanuit de map /opt/bitwarden. Installeer Bitwarden niet als root, want dan krijg je problemen tijdens de installatie.
Bitwarden downloaden en Bitwarden-serveractiva configureren:
Download een stubbed versie van de afhankelijkheden van Bitwarden
(docker-stub.zip) van de releases pagina's op GitHub. Bijvoorbeeld:Bashcurl -L https://github.com/bitwarden/server/releases/download/v<version_number>/docker-stub-US.zip \ -o docker-stub-US.zipMaak een nieuwe map met de naam
bwdataen pak daar bijvoorbeelddocker-stub.zipnaar uit:Bashunzip docker-stub-US.zip -d bwdataEenmaal uitgepakt zal de map
bwdataovereenkomen met wat de volumetoewijzing van hetdocker-compose.yml-bestandverwacht. U kunt, indien gewenst, de locatie van deze toewijzingen op de hostmachine wijzigen.Bewerk in
./bwdata/env/global.override.envde volgende omgevingsvariabelen:globalSettings__baseServiceUri__vault=: Voer het domein van uw Bitwarden-instantie in.globalSettings__sqlServer__ConnectionString=: Vervang hetRANDOM_DATABASE_PASSWORDdoor een veilig wachtwoord voor gebruik in een latere stap.globalSettings__identityServer__certificatePassword: Stel een veilig certificaatwachtwoord in voor gebruik in een latere stap.globalSettings__internalIdentityKey=: VervangRANDOM_IDENTITY_KEYdoor een willekeurige sleutelreeks.globalSettings__oidcIdentityClientKey=: VervangRANDOM_IDENTITY_KEYdoor een willekeurige sleuteltekenreeks.globalSettings__duo__aKey=: VervangRANDOM_DUO_AKEYdoor een willekeurige sleuteltekenreeks.globalSettings__installation__id=: Voer een installatie-id in die is opgehaald van https://bitwarden.com/host.globalSettings__installation__key=: Voer een installatiesleutel in die is opgehaald van https://bitwarden.com/host.tip
Overweeg op dit moment ook om waarden in te stellen voor alle
globalSettings__mail__smtp__variabelen en vooradminSettings__admins. Hierdoor wordt de SMTP-mailserver geconfigureerd die wordt gebruikt om uitnodigingen naar nieuwe organisatieleden te sturen en toegang te verlenen tot het systeembeheerdersportaal.
Genereer vanuit
./bwdataeen.pfx-certificaatbestandvoor de identity container en verplaats het naar de map van het gemapte volume (standaard./bwdata/identity/). Voer bijvoorbeeld de volgende commando's uit:Bashopenssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950en
Bashopenssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORDVervang in het bovenstaande commando
IDENTITY_CERT_PASSWORDdoor het certificaatwachtwoord dat in stap 3 is aangemaakt en gebruikt.Kopieer
identity.pfxnaar de map./bwdata/ssl.Maak een submap in
./bwdata/sslmet bijvoorbeeld de naam van je domein:Bashmkdir ./ssl/bitwarden.example.comZorg voor een vertrouwd SSL-certificaat en een privésleutel in de nieuw aangemaakte submap
./bwdata/ssl/bitwarden.example.com.note
Deze map is gekoppeld aan de NGINX container in
/etc/ssl. Als u geen vertrouwd SSL-certificaat kunt leveren, sluit de installatie dan af met een proxy die een HTTPS-eindpunt biedt aan Bitwarden-clienttoepassingen.In
./bwdata/nginx/default.conf:Vervang alle instanties van
bitwarden.example.comdoor jouw domein, ook in de headerContent-Security-Policy.Stel de variabelen
ssl_certificateenssl_certificate_keyin op de paden van het certificaat en de privésleutel uit stap 7.Neem een van de volgende acties, afhankelijk van uw certificaatinstelling:
Als u een vertrouwd SSL-certificaat gebruikt, stel dan de variabele
ssl_trusted_certificatein op het pad naar uw certificaat.Als u een zelfondertekend certificaat gebruikt, moet u de variabele
ssl_trusted_certificateuitcommentariëren.
Vervang in
./bwdata/env/mssql.override.envRANDOM_DATABASE_PASSWORDdoor het wachtwoord dat in stap 3 is gemaakt.Vervang
bitwarden.example.comin./bwdata/web/app-id.jsondoor jouw domein.Stel in
./bwdata/env/uid.envde UID en GID in van debitwardengebruikers en groep die u eerder hebt aangemaakt, zodat de containers bijvoorbeeld onder hen draaien:BashLOCAL_UID=1001 LOCAL_GID=1001
Start uw Bitwarden-server met het volgende commando:
Bashdocker compose -f ./docker/docker-compose.yml up -d
Controleer of alle containers correct draaien:
Bashdocker ps

Gefeliciteerd! Bitwarden is nu actief op https://your.domain.com. Bezoek de webkluis in je browser om te controleren of deze werkt.
Je kunt nu een nieuwe account registreren en inloggen. Je moet SMPT omgevingsvariabelen hebben geconfigureerd (zie Omgevingsvariabelen) om het e-mailadres voor je nieuwe account te kunnen verifiëren.
Als u van plan bent om zelf een Bitwarden-organisatie te hosten, zie dan Zelf een organisatie hosten om te beginnen.
Zie voor meer informatie de veelgestelde vragen over zelf hosten.
Het bijwerken van een zelf gehoste server die handmatig is geïnstalleerd en uitgerold, is anders dan de standaard updateprocedure. Om je handmatig geïnstalleerde server bij te werken:
Download het nieuwste
docker-stub.ziparchief van de releases pagina's op GitHub.Pak het nieuwe
docker-stub.ziparchief uit en vergelijk de inhoud met wat er momenteel in jebwdatamap staat. Kopieer alles wat nieuw is naar de reeds bestaande bestanden inbwdata.
Overschrijf uw reeds bestaande bwdata directorynietmet de inhoud van het nieuweredocker-stub.ziparchief, aangezien dit al het aangepaste configuratiewerk dat u hebt gedaan zou overschrijven.Voer het volgende commando uit om je server opnieuw te starten met je bijgewerkte configuratie en de nieuwste containers:
Bashdocker compose -f ./docker/docker-compose.yml down && docker compose -f ./docker/docker-compose.yml up -d