Så här installerar du Vaultwarden med Docker: En komplett guide till att självhosta dina lösenord

Senaste uppdatering: 31/08/2026
Författare: Alberto Navarro

  • Vaultwarden är en inofficiell server kompatibel med Bitwarden-klienter.
  • Mappen /data måste bevaras med hjälp av en permanent volym.
  • Åtkomst från andra enheter kräver en korrekt konfigurerad HTTPS-adress.
  • Inaktivera öppna poster efter att du har skapat nödvändiga konton.
Hur man installerar Vaultwarden med Docker Compose

Med Vaultwarden kan du hosta en lösenordshanterare kompatibel med Bitwarden-klienter på din egen server. På så sätt kan du bestämma var informationen lagras, vem som kan komma åt tjänsten och hur säkerhetskopior utförs.

Det är viktigt att klargöra från början att Vaultwarden är inte den officiella Bitwarden-servernDet är en oberoende, communitydriven implementering skriven i Rust som replikerar mycket av Bitwardens API. På grund av detta kan den användas med Bitwardens officiella mobilappar, skrivbordsprogram och tillägg.

Att hosta tjänsten själv ger mer kontroll, men Det garanterar inte automatiskt ökad säkerhetFrån och med det ögonblicket ansvarar du för att installera uppdateringar, säkra åtkomst, granska loggar, underhålla HTTPS och säkerställa att säkerhetskopior kan återställas.

Relaterad artikel:
De bästa lösenordshanterarna

Vad du behöver för att installera Vaultwarden med Docker

Vad du behöver för att installera Vaultwarden med Docker

Innan du börjar behöver du ett Docker-kompatibelt system som förblir påslaget när du vill synkronisera lösenord. Det kan vara en Linux-server, en NAS, en mini-PC eller en Raspberry Pi med en arkitektur som stöds av avbildningen.

Du behöver också:

  • Docker Engine installerat och fungerar.
  • Det nuvarande tillägget av Docker Compose.
  • En mapp där informationen kan lagras permanent.
  • Åtkomst till en terminal med behörighet att hantera Docker.
  • En säker åtkomstmetod om du kommer att använda tjänsten från andra enheter.

Det finns inget universellt minnes- eller lagringskrav för alla installationer. Förbrukningen beror på antalet användare, bilagor, lagringsstorlek och andra tjänster som körs på samma dator. För hemmabruk är det vanligtvis en lättviktig applikation, men du bör reservera tillräckligt med utrymme för data och dess säkerhetskopior.

Kontrollera installationen med hjälp av:

docker --version
docker compose version

Om båda kommandona visar en version kan du fortsätta.

Hur man installerar Vaultwarden med Docker Compose

Hur man installerar Vaultwarden med Docker

Skapa en dedikerad mapp och skriv in den:

mkdir vaultwarden
cd vaultwarden

Inuti mappen skapar du en fil som heter compose.yml med denna initiala konfiguration:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data:/data
    ports:
      - "127.0.0.1:8080:80"

Församlingen ./vw-data:/data Det är viktigt. Mappen /data Den innehåller databasen, bilagor, konfiguration och nycklar som används av servern. Om du tar bort behållaren utan att bevara den här mappen kommer du att förlora den lagrade informationen.

Adressen 127.0.0.1 Den här initiala installationen svarar bara på själva servern. Det är en lämplig konfiguration för att testa Vaultwarden utan att ännu exponera porten för nätverket.

Starta behållaren:

docker compose up -d

Kontrollera dess status:

docker compose ps
docker compose logs --tail=100 vaultwarden

Från samma enhet kan du öppna:

http://localhost:8080

Åtkomst via localhost Detta används för att slutföra den initiala installationen. För att ansluta från en annan dator, en mobilapp eller ett tillägg måste du konfigurera en säker adress med HTTPS.

Hur du skapar ditt första konto och avslutar registreringen

Öppna webbgränssnittet, skapa ditt första konto och kontrollera att du kan logga in. Använd en långt, unikt och lätt att komma ihåg huvudlösenord, eftersom det skyddar åtkomsten till hela lagret.

Efter att du har skapat de nödvändiga kontona, redigera compose.yml och ändringar:

SIGNUPS_ALLOWED: "true"

av:

SIGNUPS_ALLOWED: "false"

Tillämpa ändringen genom att återskapa behållaren:

docker compose up -d

Vaultwarden tillåter anonyma användare att skapa konton som standard. Att hålla registreringen öppen i onödan gör det lättare för tredje part att ta upp utrymme eller använda din server utan tillstånd.

Exklusivt innehåll - Klicka här  Kan jag anpassa inställningarna för Bitdefender Mobile Security?

Om du senare aktiverar administrationspanelen kommer du att kunna skicka inbjudningar även om offentlig registrering är inaktiverad.

Varför Vaultwarden behöver HTTPS

Webbutiken använder webbläsarens Web Crypto API. Dessa kryptografiska funktioner är vanligtvis endast tillgängliga i säkra kontexter, såsom HTTPS eller localhost.

Av denna anledning öppnas http://192.168.1.50:8080 Från en annan dator kan fel visas även om containern körs. Att publicera porten på nätverket ersätter inte HTTPS-konfigurationen.

Det finns tre vanliga sätt att använda Vaultwarden:

  • Endast server: åtkomst via localhost, användbar för testning.
  • På ett privat nätverk eller VPN: begränsad åtkomst, men upprätthåller ett giltigt HTTPS-certifikat.
  • Från internet: domän, omvänd proxy, giltigt certifikat och korrekt konfigurerad brandvägg.

Du behöver inte öppna Vaultwarden offentligt för att använda det utanför ditt hem. Ett VPN kan begränsa åtkomst till dina auktoriserade enheter, men adressen som används av klienter måste fortfarande ha ett certifikat som de känner igen.

Hur man konfigurerar HTTPS med Caddy

Hur man konfigurerar HTTPS med Caddy

Caddy är ett av de enklaste alternativen eftersom det automatiskt kan begära och förnya certifikat via ACME. För att använda ett publikt certifikat måste domänen kopplas till din server och de nödvändiga portarna måste vara tillgängliga.

En gemensam Vaultwarden- och Caddy-konfiguration kan använda den här filen. compose.yml:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "false"
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2
    container_name: vaultwarden-caddy
    restart: unless-stopped
    depends_on:
      - vaultwarden
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config

Ersätter vault.example.com för din faktiska domän. Skapa sedan en fil som heter Caddyfile:

vault.example.com {
    reverse_proxy vaultwarden:80 {
        header_up X-Real-IP {remote_host}
    }
}

Aktivera tjänster:

docker compose up -d

Caddy skickar förfrågningar till containern över det interna nätverket som skapats av Compose. Den nuvarande konfigurationen kan även hantera WebSocket-aviseringar via samma destination, så det finns inget behov av att publicera ytterligare en Vaultwarden-port.

Variabeln DOMAIN måste innehålla den exakta externa URL:en, inklusive https://En felaktig adress kan orsaka problem med bilagor, länkar, autentisering eller klienter.

Hur man ansluter de officiella Bitwarden-apparna

På tilläggets inloggningsskärm, mobilapp eller skrivbordsprogram öppnar du serverväljaren och väljer alternativet Självhostad.

Ange den fullständiga adressen:

https://vault.example.com

Spara inställningarna innan du loggar in. Varje klient måste vara ansluten till samma server för att ändringarna ska synkroniseras korrekt.

Om du använder ett certifikat utfärdat av en privat instans måste du installera och lita på den instansen på alla enheter. För att undvika kompatibilitetsproblem är det att föredra att använda ett giltigt offentligt certifikat eller en privat lösning vars förtroendekedja du kan kontrollera ordentligt.

När klienten är ansluten kan du Importera Chrome-lösenord till Vaultwarden och kontrollera att de visas på alla dina enheter.

Hur man skyddar administrationspanelen

Vaultwarden erbjuder en valfri panel i /adminDärifrån kan du granska användare, organisationer, diagnostik och vissa serveralternativ.

Om du inte behöver panelen är det säkraste att göra lämna den inaktiveradFör att aktivera det måste du konfigurera ADMIN_TOKENIstället för att lagra ett lösenord i klartext genererar den en Argon2id-hash:

docker run --rm -it vaultwarden/server /vaultwarden hash

Kommandot kommer att fråga efter lösenordet två gånger och returnera en sträng som börjar med $argon2id$.

Ett bekvämt sätt att undvika problem med dollartecken är att spara det i en fil .env ligger bredvid compose.yml:

VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=...'

Lägg sedan till i tjänsten:

environment:
  ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"

Om du skriver hashen direkt inuti compose.yml, du måste dubbla varje dollartecken som $$ för att förhindra att Docker Compose försöker tolka den som en variabel.

Exklusivt innehåll - Klicka här  Vad kan Bitdefender göra för Mac?

Kontrollera den bearbetade konfigurationen med hjälp av:

docker compose config

Panelen bör endast nås via HTTPS. Om möjligt, begränsa dess sökväg till det lokala nätverket, ett VPN eller specifika IP-adresser.

Observera att efter att du har sparat alternativ från /adminVaultwarden skapar config.jsonDess värden har företräde framför motsvarande miljövariabler. Denna företrädesrätt förklarar många fall där redigering av Compose inte verkar ge någon förändring.

Viktiga åtgärder för att skydda Vaultwarden

Säkerheten slutar inte med att aktivera HTTPS. Använd åtminstone dessa åtgärder:

  • Inaktivera det öppna registret med hjälp av SIGNUPS_ALLOWED=false.
  • Använd ett unikt och starkt huvudlösenord.
  • Aktiv tvåstegsautentisering för alla konton.
  • Spara autentiseringsåterställningskoden på en annan säker plats.
  • Uppdatera regelbundet avbildnings- och värdsystemet.
  • Montera inte onödiga mappar eller Docker-socketen inuti containern.
  • Begränsa de portar som verkligen är nödvändiga med hjälp av brandväggen.
  • Visa inte databasen eller mappen offentligt vw-data.

Fail2ban kan blockera adresser som samlar misslyckade inloggningsförsök, men det måste konfigureras noggrant när en omvänd proxy används. Caddy eller Nginx måste överföra den riktiga IP-adressen; annars kan Fail2ban blockera proxyns egen adress.

Du kan också inaktivera visningen av lösenordsledtrådar. Dessa ledtrådar kan underlätta gissningsattacker när servern är offentligt tillgänglig.

För att lära dig mer om dessa metoder kan du se hur använd lösenordshanterare säkert.

Så här ställer du in e-postmeddelanden

SMTP-konfigurationen låter dig skicka inbjudningar, verifieringar och aviseringar. Du måste ange server, avsändare, port, säkerhetsmetod och inloggningsuppgifter som tillhandahålls av din e-posttjänst.

Förväxla inte SMTP-e-postmeddelanden med en säkerhetskopia av valvet. Du bör inte heller förlita dig på dem som enda sättet att återställa kontot. Om du glömmer ditt huvudlösenord och inte har konfigurerat någon annan återställningsmetod kan du förlora åtkomsten till dina krypterade data.

Skicka ett testmeddelande efter att du har sparat inställningarna och kontrollera loggarna om det inte kommer fram. Kontrollera även dina skräppostmappar och SMTP-leverantörens begränsningar.

Hur man gör en fullständig säkerhetskopia av Vaultwarden

SQLite-databasen lagrar användare, objekt, enheter och organisationer, men Den innehåller inte alla filerBilagor och vissa inskickade filer lagras i separata kataloger.

En komplett kopia bör innehålla:

  • db.sqlite3 eller en konsekvent kopia av databasen.
  • Mappen attachments.
  • Mappen sends, om du vill behålla de filerna.
  • Filen config.json, om du använder panelen.
  • Filerna rsa_key*.
  • Compose-filerna, Caddy och deras variabler.

För en enkel och konsekvent säkerhetskopiering kan du tillfälligt stoppa Vaultwarden och arkivera mappen:

docker compose stop vaultwarden
tar -czf vaultwarden-backup-$(date +%F).tar.gz vw-data compose.yml Caddyfile .env
docker compose start vaultwarden

Filen kan innehålla administrationstoken och SMTP-inloggningsuppgifter. Kryptera den innan du kopierar den till en annan dator eller fjärrlagring.

Om du inte vill stoppa tjänsten inkluderar Vaultwarden ett kommando som använder SQLite-kopieringsmekanismen:

docker exec vaultwarden /vaultwarden backup

Det här kommandot skyddar databasen, men du bör fortfarande säkerhetskopiera bilagor, konfigurationsfiler och nycklar. Automatisera säkerhetskopior, håll minst en extern och testa regelbundet en återställning.

Exklusivt innehåll - Klicka här  Hur fungerar iCloud?

Hur man uppdaterar Vaultwarden med Docker

Skapa en verifierad kopia innan du uppdaterar. Kör sedan:

docker compose pull
docker compose up -d

Kontrollera status och senaste meddelanden:

docker compose ps
docker compose logs --tail=100 vaultwarden

Docker kommer att ladda ner avbildningen och återskapa containern, samtidigt som den bevaras. vw-dataAnvänd inte globala rensningskommandon utan att först kontrollera vilka containrar, avbildningar och nätverk de kommer att ta bort.

I installationer där stabilitet är avgörande kan du fixa en specifik version av bilden istället för att alltid använda standardinställningen. latestPå så sätt kan du granska versionsinformationen och bestämma när du ska installera varje uppdatering.

Vanliga misstag vid installation av Vaultwarden med Docker

Vanliga misstag vid installation av Vaultwarden med Docker

Gränssnittet fungerar på localhost, men inte från en annan dator.

Hamnen är begränsad till 127.0.0.1 Eller så avvisar webbläsaren kryptografiska funktioner vid åtkomst via HTTP. Konfigurera en HTTPS-adress innan du använder tjänsten från andra enheter.

Den officiella klienten kan inte ansluta till servern

Välj miljö Självhostad och ange den exakta adressen med https://Kontrollera certifikatet, DNS, proxy och variabel DOMAIN.

Behållaren startar, men informationen försvinner när den återskapas.

Volymkontrollen är inte korrekt installerad. Kontrollera att ./vw-data:/data visas i inställningarna och att du kör Compose från den förväntade mappen.

Jag kan inte skapa ett nytt konto

Si SIGNUPS_ALLOWED är i falseBeteendet är korrekt. Skicka en inbjudan från panelen eller aktivera tillfälligt endast registrering medan du skapar kontot.

ADMIN_TOKEN-hashen fungerar inte

Kontrollera interpoleringen av tecknen $Använd en fil .env med enkla citattecken eller dubbla tecken om du infogar strängen direkt i Compose.

Miljövariabler verkar ignoreras

Kontrollera om det finns vw-data/config.jsonAlternativ som sparats från panelen kan åsidosätta variabler som definierats i compose.yml.

Certifikaten fungerar i webbläsaren, men inte på mobilenheten.

Enheten kanske inte litar på hela certifikatkedjan. Använd en erkänd utfärdare eller installera din privata utfärdare och dess certifikat korrekt.

Bilagor misslyckas

Kontrollera att DOMAIN matcha den externa adressen och se till att proxyn tillåter den nödvändiga förfrågningsstorleken. Kontrollera även tillgängligt utrymme och behörigheter för vw-data.

Vaultwarden kan inte skriva inuti vw-data

Värdmappen har inkompatibla behörigheter. Kontrollera ägaren och behörigheterna baserat på felet som visas i loggarna. Använd inte chmod 777 som en permanent lösning.

Fail2ban blockerar en felaktig adress

Proxyn sänder inte den riktiga IP-adressen, eller så läser Fail2ban fel fält. Konfigurera den korrekt. X-Real-IP eller rubriken som motsvarar din proxy.

Den återställda kopian innehåller inte bilagorna

Endast SQLite säkerhetskopierades. Återställ även mapparna. attachments y sends, utöver RSA-konfigurationen och nycklarna.

Med Vaultwarden kan du använda organisationer och samlingar för att dela familjelösenord med kompatibla klienter. Innan du lägger till fler användare, kontrollera att HTTPS, tvåstegsautentisering och säkerhetskopior fungerar korrekt.

Resultatet kan bli en snabb, privat och anpassningsbar lösenordshanterare, men dess säkerhet är beroende av underhåll. Kontroll över servern är bara fördelaktig när den åtföljs av uppdateringar, begränsad åtkomst och en beprövad återställningsstrategi.

Så här delar du lösenord säkert med din familj utan att skicka filer
Relaterad artikel:
Så här delar du lösenord säkert med din familj utan att skicka filer