# 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](https://bitwarden.com/sv-se/help/bitwarden-software-release-support/#release-support-at-bitwarden/).

> [!WARNING] Manual Server Setup
> **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](https://github.com/bitwarden/server/releases). You can also monitor changes to the [dependency templates](https://github.com/bitwarden/server/tree/master/util/Setup/Templates) used by the Bitwarden installation script on GitHub.

## Krav

| | **Minimum** | **Rekommenderad** |
|------|------|------|
| Processor | x64, 1,4 GHz | x64, 2 GHz dual core |
| Minne | 2GB RAM | 4GB RAM |
| Lagring | 12 GB | 25 GB |
| Docker-version | Engine 26+ och Composeª`` | Engine 26+ och Composeª`` |

`ª` - Docker Compose installeras automatiskt som en plugin när du laddar ner Docker Engine. [Ladda ner Docker Engine för Linux](https://docs.docker.com/engine/install/#supported-platforms).

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](https://github.com/bitwarden/server/releases) 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](https://docs.docker.com/engine/install/linux-postinstall/).

1. Skapa en bitwarden-användare:

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

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

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

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

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

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

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

### Konfigurera din maskin

> [!TIP] If you've setup self-host local user and directory.
> Om du har [skapat en Bitwarden-användare & katalog](https://bitwarden.com/sv-se/help/install-on-premise-manual/#create-bitwarden-local-user--directory/), 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:

```
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](https://bitwarden.com/sv-se/host/).
 - `globalSettings__installation__key`=: Ange en installationsnyckel hämtad från [https://bitwarden.com/host](https://bitwarden.com/sv-se/host/).
 - `globalSettings__pushRelayBaseUri`=: Denna variabel ska vara tom. Se[ Konfigurera tryckrelä](https://bitwarden.com/sv-se/help/configure-push-relay/) för mer information.

> [!TIP] Manual Install Environment Variables
> 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](https://bitwarden.com/sv-se/help/system-administrator-portal/).
> 
> [Learn more about environment variables](https://bitwarden.com/sv-se/help/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:

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

och

```
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:

```
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] SSL Directory to Volume Mapping
> 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å](https://bitwarden.com/sv-se/help/install-on-premise-manual/#create-bitwarden-local-user-and-directory/) att behållarna körs under dem, till exempel:

```
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:

```
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:

```
docker image load -i mssql.img
```

### Starta din server

Starta din Bitwarden-server med följande kommando:

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

Kontrollera att alla behållare körs korrekt:

```
docker ps
```

![docker-healthy.png](https://bitwarden.com/assets/3Sq7MaJZ1jaEJUCW44wmwj/008be5ee5e43c20c8c840e71617e57eb/2025-05-05_15-34-44.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](https://bitwarden.com/sv-se/help/environment-variables/)) 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](https://bitwarden.com/sv-se/help/self-host-an-organization/) för att komma igång.
- För ytterligare information se vanliga frågor[ ](https://bitwarden.com/sv-se/help/hosting-faqs/)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](https://bitwarden.com/sv-se/help/updating-on-premise/). Så här uppdaterar du din manuellt installerade server:

1. Ladda ner det senaste `docker-stub.zip-arkivet` från [releasesidorna på GitHub](https://github.com/bitwarden/server/releases).
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](https://bitwarden.com/sv-se/help/install-and-deploy-offline/#download-transfer-images/).
4. Kör följande kommando för att starta om din server med din uppdaterade konfiguration och de senaste behållarna:

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