DocsSjälvhotellInstallations- och distributionsguiderHamnarbetare

Linux Offline-distribution

Den här artikeln går igenom proceduren för att installera och distribuera Bitwarden till din egen server i en offline eller luftgap miljö. Vänligen granska Bitwarden-programvaruversionens supportdokumentation.

warning

Manual installations should be conducted by advanced users only. Only proceed if you are very familiar with Docker technologies and desire more control over your Bitwarden installation.

Manual installations lack the ability to automatically update certain dependencies of the Bitwarden installation. As you upgrade from one version of Bitwarden to the next you will be responsible for changes to required environment variables, changes to nginx default.conf, changes to docker-compose.yml, and so on.

We will try to highlight these in the release notes on GitHub. You can also monitor changes to the dependency templates used by the Bitwarden installation script on GitHub.

Krav

ª - Docker Compose installeras automatiskt som en plugin när du laddar ner Docker Engine. Ladda ner Docker Engine för Linux.

Se dessutom till att följande krav är uppfyllda:

  • Genom att använda en maskin med internetåtkomst har du laddat ner den senaste filen docker-stub-US.zip eller docker-stub-EU.zip från Bitwarden Server-förvarets versionssida och överfört den här filen till din server.

  • En offline SMTP-server är konfigurerad och aktiv i din miljö.

Servern som din Bitwarden-distribution körs på kommer inte att behöva tillåta utgående trafik till några adresser utanför ditt nätverk, men klientapplikationer måste konfigureras för att få åtkomst till serverns fullständigt kvalificerade domännamn (FQDN) på portarna 80 och 443 som standard. Du kan välja att välja olika portar under installationen, men vilka portar du än väljer måste dessa öppnas för klientåtkomst.

Installationsprocedur

Konfigurera din domän

Som standard kommer Bitwarden att betjänas via portarna 80 (http) och 443 (https) på värddatorn. Öppna dessa portar så att Bitwarden kan nås inifrån och/eller utanför nätverket. Du kan välja att välja olika portar under installationen.

Vi rekommenderar att du konfigurerar ett domännamn med DNS-poster som pekar på din värddator (till exempel bitwarden.example.com), särskilt om du betjänar Bitwarden över internet.

Skapa Bitwarden lokal användare och katalog

Vi rekommenderar att du konfigurerar din server med ett dedikerat bitwarden-tjänstkonto för att installera och köra Bitwarden. Om du gör det isolerar du din Bitwarden-instans från andra applikationer som körs på din server.

Dessa steg är Bitwarden-rekommenderade bästa praxis, men är inte obligatoriska. För mer information, se Dockers efterinstallationssteg för Linux-dokumentation.

  1. Skapa en bitwarden-användare:

    Bash
    sudo adduser bitwarden
  2. Ange ett lösenord för bitwarden-användaren:

    Bash
    sudo passwd bitwarden
  3. Skapa en dockningsgrupp (om den inte redan finns):

    Bash
    sudo groupadd docker
  4. Lägg till bitwarden-användaren till dockargruppen:

    Bash
    sudo usermod -aG docker bitwarden
  5. Skapa en bitwarden-katalog:

    Bash
    sudo mkdir /opt/bitwarden
  6. Ange behörigheter för katalogen /opt/bitwarden:

    Bash
    sudo chmod -R 700 /opt/bitwarden
  7. Ställ in bitwarden-användarens äganderätt för /opt/bitwarden-katalogen:

    Bash
    sudo chown -R bitwarden:bitwarden /opt/bitwarden

Konfigurera din maskin

warning

Om du har skapat en Bitwarden-användare & katalog, slutför följande som bitwarden-användare från /opt/bitwarden-katalogen. Installera inte Bitwarden som root, eftersom du kommer att stöta på problem under installationen.

Så här konfigurerar du din maskin med de tillgångar som krävs för din Bitwarden-server:

  1. Skapa en ny katalog med namnet bwdata och extrahera docker-stub-US.zip (eller docker-stub-EU.zip) till den, till exempel:

    Bash
    unzip docker-stub-US.zip -d bwdata

    När den väl har packats upp kommer bwdata-katalogen att matcha vad docker-compose.yml-filens volymmappning förväntar sig. Du kan, om du vill, ändra platsen för dessa mappningar på värddatorn.

  2. I ./bwdata/env/global.override.env, redigera följande miljövariabler:

    • globalSettings__baseServiceUri__vault=: Ange domänen för din Bitwarden-instans.

    • globalSettings__sqlServer__ConnectionString=: Ersätt RANDOM_DATABASE_PASSWORD med ett säkert lösenord för användning i ett senare steg.

    • globalSettings__identityServer__certificatePassword: Ställ in ett säkert certifikatlösenord för användning i ett senare steg.

    • globalSettings__internalIdentityKey=: Ersätt RANDOM_IDENTITY_KEY med en slumpmässig alfanumerisk sträng.

    • globalSettings__oidcIdentityClientKey=: Ersätt RANDOM_IDENTITY_KEY med en slumpmässig alfanumerisk sträng.

    • globalSettings__duo__aKey=: Ersätt RANDOM_DUO_AKEY med en slumpmässig alfanumerisk sträng.

    • globalSettings__installation__id=: Ange ett installations-id hämtat från https://bitwarden.com/host.

    • globalSettings__installation__key=: Ange en installationsnyckel hämtad från https://bitwarden.com/host.

    • globalSettings__pushRelayBaseUri=: Denna variabel ska vara tom. Se Konfigurera tryckrelä för mer information.

      tip

      At this time, consider also setting values for all globalSettings__mail__smtp__ variables and for adminSettings__admins. Doing so will configure the SMTP mail server used to send invitations to new organization members and provision access to the System Administrator Portal.

      Learn more about environment variables.

  3. Från ./bwdata, generera en .pfx-certifikatfil för identitetsbehållaren och flytta den till den mappade volymkatalogen (som standard, ./bwdata/identity/). Kör till exempel följande kommandon:

    Bash
    openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950

    och

    Bash
    openssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORD

    I kommandot ovan, ersätt IDENTITY_CERT_PASSWORD med certifikatlösenordet som skapades och användes i steg 2.

  4. Skapa en underkatalog i ./bwdata/ssl med namnet på din domän, till exempel:

    Bash
    mkdir ./ssl/bitwarden.example.com

  5. Ange ett pålitligt SSL-certifikat och en privat nyckel i den nyskapade underkatalogen ./bwdata/ssl/bitwarden.example.com.

    note

    This directory is mapped to the NGINX container at /etc/ssl. If you can't provide a trusted SSL certificate, front the installation with a proxy that provides an HTTPS endpoint to Bitwarden client applications.

  6. I ./bwdata/nginx/default.conf:

    1. Ersätt alla instanser av bitwarden.example.com med din domän, inklusive i rubriken Content-Security-Policy.

    2. Ställ in variablerna ssl_certificate och ssl_certificate_key till sökvägarna för certifikatet och den privata nyckeln som tillhandahålls i steg 6.

    3. Utför en av följande åtgärder, beroende på din certifikatinställning:

      • Om du använder ett pålitligt SSL-certifikat, ställ in variabeln ssl_trusted_certificate till sökvägen till ditt certifikat.

      • Om du använder ett självsignerat certifikat, kommentera variabeln ssl_trusted_certificate.

  7. I ./bwdata/env/mssql.override.env, ersätt RANDOM_DATABASE_PASSWORD med lösenordet som skapades i steg 2.

  8. I ./bwdata/web/app-id.json, ersätt bitwarden.example.com med din domän.

  9. I ./bwdata/env/uid.env ställer du in UID och GID för bitwarden-användarna och gruppen du skapade tidigare så att behållarna körs under dem, till exempel:

    Bash
    LOCAL_UID=1001 LOCAL_GID=1001

Ladda ner och överför bilder

Så här hämtar du docker-bilder för användning på din offlinedator:

  1. Från en internetansluten dator laddar du ner alla ghcr.io/bitwarden/image_name:senaste docker-bilderna, enligt listan i docker-compose.yml-filen i docker-stub.zip.

  2. Spara varje bild i en .img-fil, till exempel:

    Bash
    docker image save -o mssql.img ghcr.io/bitwarden/mssql:latest
  3. Överför alla .img-filer till din offline-dator.

  4. Ladda varje .img-fil på din offlinedator för att skapa dina lokala docker-bilder, till exempel:

    Bash
    docker image load -i mssql.img

Starta din server

Starta din Bitwarden-server med följande kommando:

Bash
docker compose -f ./docker/docker-compose.yml up -d

Kontrollera att alla behållare körs korrekt:

Bash
docker ps
docker-healthy.png
docker-healthy.png

Grattis! Bitwarden är nu igång på https://din.domän.com. Besök webbvalvet i din webbläsare för att bekräfta att det fungerar.

Du kan nu registrera ett nytt konto och logga in. Du måste ha konfigurerade SMTP-miljövariabler (se miljövariabler) för att verifiera e-postadressen för ditt nya konto.

Nästa steg:

  • Om du planerar att själv vara värd för en Bitwarden-organisation, se självvärd för en organisation för att komma igång.

  • För ytterligare information se vanliga frågor om självhotell.

Uppdatera din server

Uppdatering av en server med egen värd som har installerats och distribuerats manuellt skiljer sig från standarduppdateringsproceduren. Så här uppdaterar du din manuellt installerade server:

  1. Ladda ner det senaste docker-stub.zip-arkivet från releasesidorna på GitHub.

  2. Packa upp det nya docker-stub.zip-arkivet och jämför dess innehåll med det som för närvarande finns i din bwdata-katalog, kopiera allt nytt till de redan existerande filerna i bwdata.
    Skriv inte över din redan existerande bwdata-katalog med innehållet i det nyare docker-stub.zip-arkivet, eftersom detta skulle skriva över alla anpassade konfigurationsarbeten du har gjort.

  3. Ladda ner de senaste behållarbilderna och överför dem till din offlinedator som dokumenterats ovan.

  4. Kör följande kommando för att starta om din server med din uppdaterade konfiguration och de senaste behållarna:

    Bash
    docker compose -f ./docker/docker-compose.yml down && docker compose -f ./docker/docker-compose.yml up -d