- 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.
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.
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
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.
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
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.
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.sqlite3eller 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.
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
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.
Jeg er en teknologientusiast som har gjort sine "geek"-interesser til et yrke. Jeg har brukt mer enn 10 år av livet mitt på å bruke banebrytende teknologi og fikse med alle slags programmer av ren nysgjerrighet. Nå har jeg spesialisert meg på datateknologi og videospill. Dette er fordi jeg i mer enn 5 år har skrevet for forskjellige nettsteder om teknologi og videospill, og laget artikler som prøver å gi deg den informasjonen du trenger på et språk som er forståelig for alle.
Hvis du har spørsmål, spenner min kunnskap fra alt relatert til Windows-operativsystemet samt Android for mobiltelefoner. Og mitt engasjement er til deg, jeg er alltid villig til å bruke noen minutter og hjelpe deg med å løse eventuelle spørsmål du måtte ha i denne internettverdenen.


