- Implementare ușoară în Rust, complet compatibilă cu clienții oficiali Bitwarden.
- Implementare simplificată folosind containere Docker pentru control complet al confidențialității.
- Cerințe hardware minime ideale pentru servere modeste sau Raspberry Pi.
Vaultwarden vă permite să găzduiți un manager de parole compatibil cu clienții Bitwarden pe propriul server. În acest fel, puteți decide unde sunt stocate informațiile, cine poate accesa serviciul și cum sunt efectuate copiile de rezervă.
Este important să clarificăm de la început că Vaultwarden nu este serverul oficial BitwardenEste o implementare independentă, condusă de comunitate, scrisă în Rust, care reproduce o mare parte din API-ul Bitwarden. Din acest motiv, poate fi utilizată cu aplicațiile mobile oficiale, programele desktop și extensiile Bitwarden.
Găzduirea automată a serviciului oferă mai mult control, dar Nu garantează automat o securitate sporităDin acel moment, ești responsabil pentru instalarea actualizărilor, securizarea accesului, revizuirea jurnalelor, menținerea HTTPS și asigurarea faptului că backup-urile pot fi restaurate.
Ce este necesar pentru a instala Vaultwarden cu Docker

Înainte de a începe, veți avea nevoie de un sistem compatibil cu Docker care să rămână pornit atunci când doriți să sincronizați parolele. Acesta poate fi un server Linux, un NAS, un mini PC sau un Raspberry Pi cu o arhitectură acceptată de imagine.
De asemenea, veți avea nevoie de:
- Motor Docker instalat și funcțional.
- Suplimentul actual al Docker Compose.
- Un folder în care datele pot fi stocate permanent.
- Acces la un terminal cu permisiuni de gestionare a Docker.
- O metodă de acces securizată dacă veți utiliza serviciul de pe alte dispozitive.
Nu există cerințe universale de memorie sau stocare pentru toate instalările. Consumul depinde de numărul de utilizatori, atașamente, dimensiunea spațiului de stocare și alte servicii care rulează pe același computer. Pentru uz casnic, este de obicei o aplicație ușoară, dar ar trebui să rezervați suficient spațiu pentru datele și copiile de rezervă ale acestora.
Verificați instalarea folosind:
docker --version
docker compose version
Dacă ambele comenzi arată o versiune, puteți continua.
Cum se instalează Vaultwarden cu Docker Compose
Creați un folder dedicat și introduceți-l:
mkdir vaultwarden
cd vaultwarden
În interiorul folderului, creați un fișier numit compose.yml cu această configurație inițială:
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"
Adunarea ./vw-data:/data Este esențial. Dosarul /data Acesta conține baza de date, atașamentele, configurația și cheile utilizate de server. Dacă ștergeți containerul fără a păstra acest folder, veți pierde informațiile stocate.
Adresa 127.0.0.1 Această instalare inițială răspunde doar pe serverul propriu-zis. Este o configurație potrivită pentru testarea Vaultwarden fără a expune încă portul la rețea.
Porniți containerul:
docker compose up -d
Verificați starea acestuia:
docker compose ps
docker compose logs --tail=100 vaultwarden
De pe același dispozitiv puteți deschide:
http://localhost:8080
Acces prin localhost Aceasta se folosește pentru a finaliza configurarea inițială. Pentru a vă conecta de pe un alt computer, o aplicație mobilă sau o extensie, va trebui să configurați o adresă securizată folosind HTTPS.
Cum să vă creați primul cont și să închideți înregistrarea
Deschideți interfața web, creați-vă primul cont și verificați dacă vă puteți conecta. Folosiți un parolă principală lungă, unică și ușor de reținut, deoarece protejează accesul la întregul depozit.
După crearea conturilor necesare, editați compose.yml și modificări:
SIGNUPS_ALLOWED: "true"
de:
SIGNUPS_ALLOWED: "false"
Aplicați modificarea recreând containerul:
docker compose up -d
Vaultwarden permite utilizatorilor anonimi să creeze conturi în mod implicit. Menținerea înregistrării deschise facilitează, în mod inutil, ocuparea spațiului sau utilizarea serverului de către terți fără permisiune.
Dacă ulterior activați panoul de administrare, veți putea trimite invitații chiar și cu înregistrarea publică dezactivată.
De ce are nevoie Vaultwarden de HTTPS
Magazinul web folosește API-ul Web Crypto al browserului. Aceste funcții criptografice sunt de obicei disponibile numai în contexte securizate, cum ar fi HTTPS sau localhost.
Din acest motiv, deschiderea http://192.168.1.50:8080 De pe un alt computer, pot fi afișate erori chiar dacă containerul rulează. Publicarea portului în rețea nu înlocuiește configurația HTTPS.
Există trei moduri comune de a utiliza Vaultwarden:
- Numai server: acces prin
localhost, util pentru testare. - Într-o rețea privată sau VPN: acces restricționat, dar menținând un certificat HTTPS valid.
- De pe internet: domeniu, proxy invers, certificat valid și firewall configurat corect.
Nu trebuie să deschizi Vaultwarden public pentru a-l utiliza în afara casei. Un VPN poate restricționa accesul la dispozitivele tale autorizate, dar adresa utilizată de clienți trebuie să aibă în continuare un certificat pe care îl recunosc.
Cum se configurează HTTPS cu Caddy
Caddy este una dintre cele mai simple opțiuni, deoarece poate solicita și reînnoi automat certificate prin ACME. Pentru a utiliza un certificat public, domeniul trebuie să fie rezolvat pe serverul dvs., iar porturile necesare trebuie să fie accesibile.
O configurație comună Vaultwarden și Caddy poate folosi acest fișier. 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
Înlocuiește vault.example.com pentru domeniul dvs. real. Apoi creați un fișier numit Caddyfile:
vault.example.com {
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}
Activează serviciile:
docker compose up -d
Caddy va trimite cereri către container prin rețeaua internă creată de Compose. Configurația curentă poate gestiona și notificări WebSocket prin aceeași destinație, deci nu este nevoie să se publice un alt port Vaultwarden.
Variabila DOMAIN trebuie să conțină adresa URL externă exactă, inclusiv https://O adresă incorectă poate cauza probleme cu atașamentele, linkurile, autentificarea sau clienții.
Cum se conectează aplicațiile oficiale Bitwarden
Pe ecranul de conectare al extensiei, în aplicația mobilă sau în programul desktop, deschideți selectorul de server și alegeți opțiunea Găzduit în regim self-service.
Introduceți adresa completă:
https://vault.example.com
Salvați setările înainte de a vă conecta. Fiecare client trebuie să fie conectat la același server pentru ca modificările să fie sincronizate corect.
Dacă utilizați un certificat emis de o autoritate privată, va trebui să instalați corect și să aveți încredere în acea autoritate pe toate dispozitivele. Pentru a evita problemele de compatibilitate, este de preferat să utilizați un certificat public valid sau o soluție privată al cărei lanț de încredere îl puteți controla în mod corespunzător.
Odată ce clientul este conectat, puteți Importați parolele Chrome în Vaultwarden și verificați dacă acestea apar pe toate dispozitivele dvs.
Cum să protejezi panoul de administrare
Vaultwarden oferă un panou opțional în /adminDe acolo puteți examina utilizatorii, organizațiile, diagnosticele și anumite opțiuni ale serverului.
Dacă nu aveți nevoie de panou, cel mai sigur lucru de făcut este lasă-l dezactivatPentru a-l activa, trebuie să configurați ADMIN_TOKENÎn loc să stocheze o parolă în text simplu, generează un hash Argon2id:
docker run --rm -it vaultwarden/server /vaultwarden hash
Comanda va solicita parola de două ori și va returna un șir de caractere care începe cu $argon2id$.
O modalitate convenabilă de a evita problemele cu semnele dolar este să îl salvați într-un fișier .env situat lângă compose.yml:
VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=...'
Apoi adăugați la serviciu:
environment:
ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"
Dacă scrieți hash-ul direct înăuntru compose.yml, trebuie să dublezi fiecare semn de dolar ca $$ pentru a împiedica Docker Compose să încerce să o interpreteze ca o variabilă.
Verificați configurația procesată folosind:
docker compose config
Panoul ar trebui accesat doar prin HTTPS. Dacă este posibil, restricționați calea sa către rețeaua locală, o rețea VPN sau adrese IP specifice.
Vă rugăm să rețineți că după salvarea opțiunilor din /adminVaultwarden creează config.jsonValorile sale au prioritate față de variabilele de mediu echivalente. Această prioritate explică multe cazuri în care editarea funcției Compose pare să nu producă nicio modificare.
Măsuri esențiale pentru protejarea Vaultwarden-ului
Securitatea nu se termină cu activarea HTTPS. Cel puțin, aplicați aceste măsuri:
- Dezactivați registrul deschis folosind
SIGNUPS_ALLOWED=false. - Folosește o parolă principală unică și puternică.
- Activ autentificare în doi pași pentru toate conturile.
- Salvați codul de recuperare a autentificării într-o altă locație securizată.
- Actualizați periodic imaginea și sistemul gazdă.
- Nu montați foldere inutile sau socketul Docker în interiorul containerului.
- Limitați porturile cu adevărat necesare folosind firewall-ul.
- Nu expuneți public baza de date sau folderul
vw-data.
Fail2ban poate bloca adresele care acumulează încercări de conectare eșuate, dar trebuie configurat cu atenție atunci când este prezent un proxy invers. Caddy sau Nginx trebuie să transmită adresa IP reală; altfel, Fail2ban ar putea bloca propria adresă a proxy-ului.
De asemenea, puteți dezactiva afișarea indiciilor pentru parolă. Aceste indicii pot facilita atacurile de ghicire atunci când serverul este accesibil publicului.
Pentru a afla mai multe despre aceste practici, puteți consulta cum utilizați manageri de parole în siguranță.
Cum se configurează notificările prin e-mail
Configurația SMTP vă permite să trimiteți invitații, verificări și notificări. Va trebui să specificați serverul, expeditorul, portul, metoda de securitate și acreditările furnizate de serviciul dvs. de e-mail.
Nu confundați e-mailurile SMTP cu o copie de rezervă a seifului. Nici nu ar trebui să vă bazați pe ele ca unic mijloc de recuperare a contului. Dacă uitați parola principală și nu aveți configurată o altă metodă de recuperare, ați putea pierde accesul la datele criptate.
După salvarea setărilor, trimiteți un mesaj de test și verificați jurnalele dacă acesta nu ajunge. Verificați și folderele de spam și restricțiile furnizorului SMTP.
Cum se face o copie de rezervă completă a Vaultwarden
Baza de date SQLite stochează utilizatori, elemente, dispozitive și organizații, dar Nu conține toate fișiereleAtașamentele și anumite documente trimise sunt stocate în directoare separate.
O copie completă trebuie să includă:
db.sqlite3sau o copie consistentă a bazei de date.- Dosarul
attachments. - Dosarul
sends, dacă vrei să păstrezi acele fișiere. - Fișierul
config.json, dacă folosești panoul. - Fișierele
rsa_key*. - Fișierele Compose, Caddy și variabilele lor.
Pentru o copie de rezervă simplă și consistentă, puteți opri temporar Vaultwarden și arhiva folderul:
docker compose stop vaultwarden
tar -czf vaultwarden-backup-$(date +%F).tar.gz vw-data compose.yml Caddyfile .env
docker compose start vaultwarden
Fișierul poate conține token-ul de administrare și acreditările SMTP. Criptați-l înainte de a-l copia pe un alt computer sau pe un spațiu de stocare la distanță.
Dacă nu doriți să opriți serviciul, Vaultwarden include o comandă care folosește mecanismul de copiere SQLite:
docker exec vaultwarden /vaultwarden backup
Această comandă protejează baza de date, dar ar trebui să faceți totuși copii de rezervă ale atașamentelor, fișierelor de configurare și cheilor. Automatizați copiile de rezervă, păstrați cel puțin una în afara serverului și testați periodic o restaurare.
Cum se actualizează Vaultwarden cu Docker
Creați o copie verificată înainte de actualizare. Apoi executați:
docker compose pull
docker compose up -d
Verificați starea și cele mai recente mesaje:
docker compose ps
docker compose logs --tail=100 vaultwarden
Docker va descărca imaginea și va recrea containerul, păstrând vw-dataNu utilizați comenzi de curățare globală fără a verifica mai întâi ce containere, imagini și rețele vor fi eliminate.
În instalările în care stabilitatea este critică, puteți corecta o anumită versiune a imaginii în loc să utilizați întotdeauna versiunea implicită. latestÎn acest fel, puteți revizui notele de lansare și puteți decide când să aplicați fiecare actualizare.
Greșeli frecvente la instalarea Vaultwarden cu Docker
Interfața funcționează pe localhost, dar nu de pe un alt computer.
Portul este limitat la 127.0.0.1 Sau browserul respinge funcțiile criptografice la accesarea prin HTTP. Configurați o adresă HTTPS înainte de a utiliza serviciul de pe alte dispozitive.
Clientul oficial nu se poate conecta la server
Selectați mediul Găzduit în regim self-service și introduceți adresa exactă cu https://Verificați certificatul, DNS-ul, proxy-ul și variabila DOMAIN.
Containerul pornește, dar datele dispar când este recreat.
Controlul volumului nu este instalat corect. Vă rugăm să verificați dacă ./vw-data:/data apare în setări și că rulați Compose din folderul așteptat.
Nu pot crea un alt cont
Si SIGNUPS_ALLOWED este în falseComportamentul este corect. Trimiteți o invitație din panou sau activați temporar înregistrarea doar în timp ce creați contul.
Hash-ul ADMIN_TOKEN nu funcționează
Verificați interpolarea semnelor $Folosește un fișier .env cu ghilimele simple sau cu simboluri duble dacă inserați șirul direct în Compose.
Variabilele de mediu par a fi ignorate
Verificați dacă există vw-data/config.jsonOpțiunile salvate din panou pot suprascrie variabilele definite în compose.yml.
Certificatele funcționează în browser, dar nu pe dispozitivul mobil.
Este posibil ca dispozitivul să nu aibă încredere în întregul lanț de certificate. Folosește o autoritate recunoscută sau instalează corect autoritatea privată și certificatele aferente.
Atașamentele eșuează
Verifică asta DOMAIN potriviți adresa externă și asigurați-vă că proxy-ul permite dimensiunea necesară a cererii. Verificați, de asemenea, spațiul disponibil și permisiunile vw-data.
Vaultwarden nu poate scrie în vw-data
Folderul gazdă are permisiuni incompatibile. Verificați proprietarul și permisiunile pe baza erorii afișate în jurnale. Nu utilizați chmod 777 ca o soluție permanentă.
Fail2ban blochează o adresă incorectă
Proxy-ul nu transmite adresa IP reală sau Fail2ban citește câmpul greșit. Configurați-l corect. X-Real-IP sau antetul corespunzător proxy-ului dumneavoastră.
Copia restaurată nu conține atașamentele.
Doar SQLite a fost copiat de rezervă. Vă rugăm să restaurați și folderele. attachments y sends, pe lângă configurația și cheile RSA.
Vaultwarden vă permite să utilizați organizații și colecții pentru a partajați parolele familiei utilizând clienți compatibili. Înainte de a adăuga mai mulți utilizatori, verificați dacă HTTPS, autentificarea în doi pași și copiile de rezervă funcționează corect.
Rezultatul poate fi un manager de parole rapid, privat și adaptabil, dar securitatea sa depinde de întreținere. Controlul asupra serverului este avantajos doar atunci când este însoțit de actualizări, acces restricționat și o strategie de recuperare dovedită.
Sunt un pasionat de tehnologie care și-a transformat interesele de „tocilar” într-o profesie. Mi-am petrecut mai bine de 10 ani din viața mea folosind tehnologie de ultimă oră și mânuind cu tot felul de programe din pură curiozitate. Acum m-am specializat în tehnologie computerizată și jocuri video. Asta pentru că de mai bine de 5 ani scriu pentru diverse site-uri web despre tehnologie și jocuri video, creând articole care urmăresc să-ți ofere informațiile de care ai nevoie într-un limbaj pe care oricine este pe înțeles.
Dacă aveți întrebări, cunoștințele mele variază de la tot ce ține de sistemul de operare Windows, precum și Android pentru telefoane mobile. Și angajamentul meu este față de tine, sunt mereu dispus să petrec câteva minute și să te ajut să rezolvi orice întrebări pe care le poți avea în această lume a internetului.


