Slik installerer du Vaultwarden med Docker: En komplett guide til selvhosting av passordene dine

Siste oppdatering: 31/08/2026

  • Lett implementering i Rust, fullt kompatibel med offisielle Bitwarden-klienter.
  • Forenklet distribusjon ved hjelp av Docker-containere for fullstendig personvernkontroll.
  • Ideelle minimumskrav til maskinvare for beskjedne servere eller Raspberry Pi.
Slik installerer du Vaultwarden med Docker Compose

Med Vaultwarden kan du ha en passordbehandler kompatibel med Bitwarden-klienter på din egen server. På denne måten kan du bestemme hvor informasjonen lagres, hvem som har tilgang til tjenesten og hvordan sikkerhetskopier utføres.

Det er viktig å avklare fra starten av at Vaultwarden er ikke den offisielle Bitwarden-serverenDet er en uavhengig, fellesskapsdrevet implementering skrevet i Rust som replikerer mye av Bitwardens API. På grunn av dette kan den brukes med Bitwardens offisielle mobilapper, skrivebordsprogrammer og utvidelser.

Selvhosting av tjenesten gir mer kontroll, men Det garanterer ikke automatisk større sikkerhetFra det øyeblikket av er du ansvarlig for å installere oppdateringer, sikre tilgang, gjennomgå logger, vedlikeholde HTTPS og sørge for at sikkerhetskopier kan gjenopprettes.

Relatert artikkel:
De beste passordbehandlerne

Det du trenger for å installere Vaultwarden med Docker

Det du trenger for å installere Vaultwarden med Docker

Før du begynner, trenger du et Docker-kompatibelt system som forblir påslått når du vil synkronisere passord. Dette kan være en Linux-server, en NAS, en mini-PC eller en Raspberry Pi med en arkitektur som støttes av imaget.

Du trenger også:

  • Docker-motor installert og fungerer.
  • Det nåværende tillegget til Docker Compose.
  • En mappe der dataene kan lagres permanent.
  • Tilgang til en terminal med tillatelser til å administrere Docker.
  • En sikker tilgangsmetode hvis du skal bruke tjenesten fra andre enheter.

Det er ikke noe universelt minne- eller lagringskrav for alle installasjoner. Forbruket avhenger av antall brukere, vedlegg, lagringsstørrelse og andre tjenester som kjører på samme datamaskin. For hjemmebruk er det vanligvis et lettvektsapplikasjon, men du bør reservere nok plass til dataene og sikkerhetskopiene.

Sjekk installasjonen ved hjelp av:

docker --version
docker compose version

Hvis begge kommandoene viser en versjon, kan du fortsette.

Slik installerer du Vaultwarden med Docker Compose

Slik installerer du Vaultwarden med Docker

Opprett en egen mappe og skriv inn:

mkdir vaultwarden
cd vaultwarden

Inne i mappen, opprett en fil som heter compose.yml med denne innledende konfigurasjonen:

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"

Forsamlingen ./vw-data:/data Det er viktig. Mappen /data Den inneholder databasen, vedlegg, konfigurasjon og nøkler som brukes av serveren. Hvis du sletter beholderen uten å bevare denne mappen, mister du den lagrede informasjonen.

Adressen 127.0.0.1 Denne første installasjonen reagerer bare på selve serveren. Det er en passende konfigurasjon for å teste Vaultwarden uten å eksponere porten til nettverket ennå.

Start beholderen:

docker compose up -d

Sjekk statusen:

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

Fra samme enhet kan du åpne:

http://localhost:8080

Tilgang via localhost Dette brukes til å fullføre det første oppsettet. For å koble til fra en annen datamaskin, en mobilapp eller en utvidelse, må du sette opp en sikker adresse ved hjelp av HTTPS.

Slik oppretter du din første konto og avslutter registreringen

Åpne nettgrensesnittet, opprett din første konto, og bekreft at du kan logge inn. Bruk en langt, unikt og lett å huske hovedpassord, da det beskytter tilgangen til hele lageret.

Etter at du har opprettet de nødvendige kontoene, redigerer du compose.yml og endringer:

SIGNUPS_ALLOWED: "true"

ved:

SIGNUPS_ALLOWED: "false"

Bruk endringen ved å gjenskape beholderen:

docker compose up -d

Vaultwarden lar anonyme brukere opprette kontoer som standard. Å holde registreringen åpen unødvendig gjør det enklere for tredjeparter å ta opp plass eller bruke serveren din uten tillatelse.

Eksklusivt innhold - Klikk her  Hvor er BitLocker-gjenopprettingsnøkkelen lagret, og hvordan finner du den?

Hvis du senere aktiverer administrasjonspanelet, vil du kunne sende invitasjoner selv om offentlig registrering er deaktivert.

Hvorfor Vaultwarden trenger HTTPS

Nettbutikken bruker nettleserens Web Crypto API. Disse kryptografiske funksjonene er vanligvis bare tilgjengelige i sikre kontekster, som HTTPS eller localhost.

Av denne grunn åpner http://192.168.1.50:8080 Fra en annen datamaskin kan det vises feilmeldinger selv om containeren kjører. Publisering av porten på nettverket erstatter ikke HTTPS-konfigurasjon.

Det er tre vanlige måter å bruke Vaultwarden på:

  • Kun server: tilgang via localhost, nyttig for testing.
  • På et privat nettverk eller VPN: begrenset tilgang, men opprettholder et gyldig HTTPS-sertifikat.
  • Fra Internett: domene, omvendt proxy, gyldig sertifikat og riktig konfigurert brannmur.

Du trenger ikke å åpne Vaultwarden offentlig for å bruke det utenfor hjemmet ditt. En VPN kan begrense tilgangen til dine autoriserte enheter, men adressen som brukes av klienter må fortsatt ha et sertifikat de gjenkjenner.

Slik konfigurerer du HTTPS med Caddy

Slik konfigurerer du HTTPS med Caddy

Caddy er et av de enkleste alternativene fordi det automatisk kan be om og fornye sertifikater gjennom ACME. For å bruke et offentlig sertifikat må domenet være knyttet til serveren din, og de nødvendige portene må være tilgjengelige.

En felles Vaultwarden- og Caddy-konfigurasjon kan bruke denne 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

Erstatter vault.example.com for ditt faktiske domene. Deretter oppretter du en fil som heter Caddyfile:

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

Aktiver tjenester:

docker compose up -d

Caddy vil sende forespørsler til containeren over det interne nettverket som er opprettet av Compose. Den nåværende konfigurasjonen kan også håndtere WebSocket-varsler gjennom samme destinasjon, så det er ikke nødvendig å publisere en annen Vaultwarden-port.

Variabelen DOMAIN må inneholde den nøyaktige eksterne URL-en, inkludert https://En feil adresse kan forårsake problemer med vedlegg, lenker, autentisering eller klienter.

Slik kobler du til de offisielle Bitwarden-appene

På utvidelsens innloggingsskjerm, mobilapp eller skrivebordsprogram åpner du servervelgeren og velger alternativet Selvhostet.

Skriv inn hele adressen:

https://vault.example.com

Lagre innstillingene før du logger inn. Hver klient må være koblet til samme server for at endringene skal synkroniseres riktig.

Hvis du bruker et sertifikat utstedt av en privat instans, må du installere og stole på denne instansen på alle enheter. For å unngå kompatibilitetsproblemer er det å foretrekke å bruke et gyldig offentlig sertifikat eller en privat løsning med en tillitskjede du kan kontrollere på riktig måte.

Når klienten er koblet til, kan du Importer Chrome-passord til Vaultwarden og sjekk at de vises på alle enhetene dine.

Slik beskytter du administrasjonspanelet

Vaultwarden tilbyr et valgfritt panel i /adminDerfra kan du se gjennom brukere, organisasjoner, diagnostikk og visse serveralternativer.

Hvis du ikke trenger panelet, er det tryggeste å gjøre la den være deaktivertFor å aktivere det, må du konfigurere ADMIN_TOKENI stedet for å lagre et passord i ren tekst, genererer den en Argon2id-hash:

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

Kommandoen vil be om passord to ganger og returnere en streng som begynner med $argon2id$.

En praktisk måte å unngå problemer med dollartegn på er å lagre det i en fil .env ligger ved siden av compose.yml:

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

Legg deretter til tjenesten:

environment:
  ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"

Hvis du skriver hashen rett inni compose.yml, må du doble hvert dollartegn som $$ for å hindre at Docker Compose prøver å tolke den som en variabel.

Eksklusivt innhold - Klikk her  Hva er truslene om nettsikkerhet?

Sjekk den behandlede konfigurasjonen ved hjelp av:

docker compose config

Panelet skal kun nås via HTTPS. Hvis mulig, begrens banen til det lokale nettverket, et VPN eller bestemte IP-adresser.

Vær oppmerksom på at etter at du har lagret alternativer fra /adminVaultwarden skaper config.jsonVerdiene har forrang over tilsvarende miljøvariabler. Denne forrangen forklarer mange tilfeller der redigering av Compose tilsynelatende ikke gir noen endring.

Viktige tiltak for å beskytte Vaultwarden

Sikkerhet stopper ikke med å aktivere HTTPS. Som et minimum bør du bruke disse tiltakene:

  • Deaktiver det åpne registeret ved hjelp av SIGNUPS_ALLOWED=false.
  • Bruk et unikt og sterkt hovedpassord.
  • Aktiv totrinnsautentisering for alle kontoer.
  • Lagre autentiseringsgjenopprettingskoden på et annet sikkert sted.
  • Oppdater bildet og vertssystemet regelmessig.
  • Ikke monter unødvendige mapper eller Docker-socketen inne i containeren.
  • Begrens portene som virkelig er nødvendige ved bruk av brannmuren.
  • Ikke eksponer databasen eller mappen offentlig vw-data.

Fail2ban kan blokkere adresser som akkumulerer mislykkede innloggingsforsøk, men det må konfigureres nøye når en omvendt proxy er til stede. Caddy eller Nginx må overføre den virkelige IP-adressen; ellers kan Fail2ban blokkere proxyens egen adresse.

Du kan også deaktivere visningen av passordhint. Disse hintene kan legge til rette for gjetting av angrep når serveren er offentlig tilgjengelig.

For å lære mer om disse praksisene kan du se hvordan bruk passordbehandlere sikkert.

Slik konfigurerer du e-postvarsler

SMTP-konfigurasjonen lar deg sende invitasjoner, bekreftelser og varsler. Du må angi server, avsender, port, sikkerhetsmetode og påloggingsinformasjon fra e-posttjenesten din.

Ikke forveksle SMTP-e-poster med en sikkerhetskopi av hvelvet. Du bør heller ikke stole på dem som eneste metode for kontogjenoppretting. Hvis du glemmer hovedpassordet ditt og ikke har konfigurert en annen gjenopprettingsmetode, kan du miste tilgangen til de krypterte dataene dine.

Etter at du har lagret innstillingene, send en testmelding og sjekk loggene hvis den ikke kommer frem. Sjekk også spam-mappene dine og SMTP-leverandørens restriksjoner.

Slik lager du en fullstendig sikkerhetskopi av Vaultwarden

SQLite-databasen lagrer brukere, elementer, enheter og organisasjoner, men Den inneholder ikke alle fileneVedlegg og visse innsendinger lagres i separate mapper.

En fullstendig kopi bør inneholde:

  • db.sqlite3 eller en konsistent kopi av databasen.
  • Mappen attachments.
  • Mappen sends, hvis du vil beholde disse filene.
  • Filen config.json, hvis du bruker panelet.
  • Filene rsa_key*.
  • Compose-filene, Caddy og variablene deres.

For en enkel og konsekvent sikkerhetskopiering kan du midlertidig stoppe Vaultwarden og arkivere 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 inneholde administrasjonstokenet og SMTP-legitimasjon. Krypter den før du kopierer den til en annen datamaskin eller ekstern lagring.

Hvis du ikke vil stoppe tjenesten, inkluderer Vaultwarden en kommando som bruker SQLite-kopieringsmekanismen:

docker exec vaultwarden /vaultwarden backup

Denne kommandoen beskytter databasen, men du bør fortsatt sikkerhetskopiere vedlegg, konfigurasjonsfiler og nøkler. Automatiser sikkerhetskopier, hold minst én utenfor serveren, og test en gjenoppretting med jevne mellomrom.

Eksklusivt innhold - Klikk her  Discord blokkerer kontoen din for mistenkelig aktivitet: virkelige grunner og hvordan du beskytter deg selv

Slik oppdaterer du Vaultwarden med Docker

Opprett en bekreftet kopi før du oppdaterer. Kjør deretter:

docker compose pull
docker compose up -d

Sjekk status og siste meldinger:

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

Docker vil laste ned bildet og gjenskape containeren, samtidig som den bevarer vw-dataIkke bruk globale oppryddingkommandoer uten først å sjekke hvilke containere, bilder og nettverk de vil fjerne.

I installasjoner der stabilitet er kritisk, kan du fikse en bestemt versjon av bildet i stedet for alltid å bruke standardinnstillingen. latestPå denne måten kan du gjennomgå utgivelsesnotatene og bestemme når du skal installere hver oppdatering.

Vanlige feil når du installerer Vaultwarden med Docker

Vanlige feil når du installerer Vaultwarden med Docker

Grensesnittet fungerer på localhost, men ikke fra en annen datamaskin.

Havnen er begrenset til 127.0.0.1 Eller nettleseren avviser kryptografiske funksjoner ved tilgang via HTTP. Konfigurer en HTTPS-adresse før du bruker tjenesten fra andre enheter.

Den offisielle klienten kan ikke koble til serveren

Velg miljøet Selvhostet og skriv inn den nøyaktige adressen med https://Sjekk sertifikatet, DNS-en, proxyen og variabelen DOMAIN.

Beholderen starter opp, men dataene forsvinner når den gjenopprettes.

Volumkontrollen er ikke riktig installert. Kontroller at ./vw-data:/data vises i innstillingene, og at du kjører Compose fra den forventede mappen.

Jeg kan ikke opprette en ny konto

Si SIGNUPS_ALLOWED er i falseOppførselen er korrekt. Send en invitasjon fra panelet eller aktiver midlertidig kun registrering mens du oppretter kontoen.

ADMIN_TOKEN-hashen fungerer ikke

Sjekk interpolasjonen av tegnene $Bruk en fil .env med enkle anførselstegn eller doble tegn hvis du setter inn strengen direkte i Compose.

Miljøvariabler ser ut til å bli ignorert

Sjekk om den finnes vw-data/config.jsonAlternativer lagret fra panelet kan overstyre variabler definert i compose.yml.

Sertifikatene fungerer i nettleseren, men ikke på mobilenheten.

Enheten stoler kanskje ikke på hele sertifikatkjeden. Bruk en anerkjent instans, eller installer din private instans og dens sertifikater på riktig måte.

Vedleggene mislykkes

Sjekk det DOMAIN samsvar med den eksterne adressen og sørg for at proxyen tillater den nødvendige forespørselsstørrelsen. Sjekk også den tilgjengelige plassen og tillatelsene til vw-data.

Vaultwarden kan ikke skrive i vw-data

Vertsmappen har inkompatible tillatelser. Sjekk eieren og tillatelsene basert på feilen som vises i loggene. Ikke bruk chmod 777 som en permanent løsning.

Fail2ban blokkerer en feil adresse

Proxyen overfører ikke den virkelige IP-adressen, eller Fail2ban leser feil felt. Konfigurer den riktig. X-Real-IP eller overskriften som tilsvarer proxyen din.

Den gjenopprettede kopien inneholder ikke vedleggene

Bare SQLite ble sikkerhetskopiert. Vennligst gjenopprett også mappene. attachments y sends, i tillegg til RSA-konfigurasjonen og nøklene.

Vaultwarden lar deg bruke organisasjoner og samlinger til del familiepassord bruker kompatible klienter. Før du legger til flere brukere, må du bekrefte at HTTPS, totrinnsautentisering og sikkerhetskopier fungerer som de skal.

Resultatet kan bli en rask, privat og tilpasningsdyktig passordbehandler, men sikkerheten avhenger av vedlikehold. Kontroll over serveren er bare fordelaktig når den ledsages av oppdateringer, begrenset tilgang og en velprøvd gjenopprettingsstrategi.

Slik deler du passord sikkert med familien din uten å sende filer
Relatert artikkel:
Slik deler du passord sikkert med familien din uten å sende filer