NaplóindexDockup / terepjegyzet
Note / self-host-vaultwarden

A Vaultwarden önálló hosztolása 2026-ban: domainek, SMTP és biztonságos biztonsági mentések

Gyakorlati útmutató a Vaultwarden önálló hosztolásához Dockerrel, portokkal, tartós adatokkal, TLS-sel, biztonsággal, biztonsági mentésekkel és a production használatot akadályozó hibákkal.

A „Vaultwarden futtatásának” két változata van: létezik egy container, vagy a service ténylegesen elvégzi a feladatát. Csak a második számít. Ennek bizonyítéka, hogy be tudsz jelentkezni egy böngészőbővítményből, létre tudsz hozni egy elemet, szinkronizálni tudsz egy második klienst, fel tudsz tölteni egy csatolmányt, majd újraindítás után le tudsz kérni egy Sendet.

A Vaultwarden ezt a célt szolgálja: egy kompakt, Bitwarden-kompatibilis jelszószerver. A deploymentnek meg kell őriznie azokat az összetevőket, amelyek ezt a működést lehetővé teszik; egy port, egy volume és egy tanúsítvány bemenet, nem pedig az eredmény.

A volume-ok csak a helyreállítás első rétegét jelentik

A tartós helyreállítási készlet az adatbázisból, a csatolmányokból, a Sendekből, a kulcsokból és a /data alatti konfigurációból áll. A bootstrap előtt csatold a /data könyvtárat, írj bele ártalmatlan mintaadatokat, majd cseréld le a containert annak igazolására, hogy az útvonal valóban tartós. A volume megvédi az adatokat a container cseréjétől, de a host elvesztésétől, a véletlen törléstől vagy az alkalmazásszintű adatsérüléstől nem.

Olyan biztonsági mentéseket készíts, amelyek értik az adatforrást: az éles adatbázisokhoz szükség esetén használj logikai dumpokat, fájlokat pedig csak konzisztens állapotból másolj. Legalább egy titkosított másolatot a Vaultwarden hostjától elkülönítve tárolj. A restore elfogadási feltétele legyen konkrét: a vault-elemek, a csatolmányok, a Sendek és a szervezeti tagság sikeresen szinkronizálódjon egy tiszta klienssel a restore után. A restore-tesztelt biztonsági mentésekről szóló útmutató bemutatja, miért nem elegendő önmagában egy sikeres job.

Indítsd el a Vaultwardent a mozgó részek elrejtése nélkül

Úgy indítsd el a Vaultwardent, hogy a bootstrap befejezéséig az útvonal privát maradjon.

docker run -d \
  --name vaultwarden \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  -v vaultwarden-data:/data \
  -e ADMIN_TOKEN=replace-with-a-long-random-value \
  vaultwarden/server:latest

Ha a process ciklusban újraindul, hasonlítsd össze az image által elvárt usert az egyes csatolt útvonalak tulajdonosával. Ha stabilan fut, teszteld helyben a 80-as portot, majd térj át közvetlenül a teljes workflow-ra: jelentkezz be egy böngészőbővítményből, hozz létre egy elemet, szinkronizálj egy második klienst, tölts fel egy csatolmányt, majd újraindítás után kérj le egy Sendet. Az image verzióját csak akkor rögzítsd, ha ez a teljes folyamat sikeresen lefutott, és a pontos konfigurációt rögzítsd a service mellett.

Rajzold fel a Vaultwarden futtatási határait

A Vaultwarden köré három határt rajzolj fel: az ingress és a 80-as port közötti határt, a tartós állapot határát, valamint a támogató követelmények határát. A container cserélhető, a másik két területhez viszont egyértelmű felelősökre van szükség. A Vaultwarden külső követelménye a működő SMTP, ha meghívásokra és vészhelyzeti hozzáférési e-mailekre van szükség. Teszteld a kimenő DNS-t, a TLS-t és a provider működését anélkül, hogy újabb bejövő servicet tennél közzé.

A diagram akkor teljes, amikor egy tiszta kliens be tud jelentkezni egy böngészőbővítményből, létre tud hozni egy elemet, szinkronizálni tud egy második klienst, fel tud tölteni egy csatolmányt, majd újraindítás után le tud kérni egy Sendet. Gyűjts időzítési és erőforrásadatokat a csatolmányok mennyiségéről, a SQLite írási versengéséről vagy az adatbázis-kapacitáskorlátokról, valamint a meghívások alatti SMTP-késleltetésről. Ha a tranzakció sikertelen, az első, dokumentáció szerint nem működő határ jelzi, hogy az útválasztást, a helyi kapacitást vagy egy támogató servicet kell-e vizsgálni.

Tartsd külön a belső és külső URL-eket

Kerüld a Vaultwarden ideiglenes és végleges publikus originjeinek használatát. Ehelyett állítsd a DOMAIN értékét a pontos külső HTTPS-originre, irányítsd a kiválasztott DNS-nevet a platform útvonalára, és csak a 80-as portra proxyzz.

Ezt a műveletet a hoston kívülről hajtsd végre: jelentkezz be egy böngészőbővítményből, hozz létre egy elemet, szinkronizálj egy második klienst, tölts fel egy csatolmányt, majd újraindítás után kérj le egy Sendet. Ha az ingress sikertelen, a 502-es hibák elhárításáról szóló útmutató a portokkal és a listenerekkel kapcsolatos hibákat ismerteti. Ha a Vaultwarden megkapja a kérést, de a DOMAIN HTTP, miközben a böngésző a vault funkcióihoz biztonságos origint igényel, akkor a bizonyíték már a proxyn túli problémára utal.

Production elfogadási folyamat a Vaultwardenhez

A Vaultwarden production gate-jét olyan személynek is végre kell tudnia hajtani, aki nem építette a deploymentet. Add át neki a rögzített verziót, egy nem érzékeny tesztfiókot és ezt a feladatot: jelentkezzen be egy böngészőbővítményből, hozzon létre egy elemet, szinkronizáljon egy második klienst, töltsön fel egy csatolmányt, majd újraindítás után kérjen le egy Sendet. Ha az utasítások nem dokumentált shell-hozzáférést igényelnek, a service még nem áll készen az üzemeltetésre.

Ismételd meg a gate-et úgy, hogy csak a containert cseréled le. Ezután állítsd vissza az adatbázist, a csatolmányokat, a Sendeket, a kulcsokat és a /data alatti konfigurációt üres infrastruktúrába, majd igazold, hogy a vault-elemek, a csatolmányok, a Sendek és a szervezeti tagság sikeresen szinkronizálódik egy tiszta klienssel a restore után. Mindkét sikeres futás során mérd a csatolmányok mennyiségét, a SQLite írási versengését vagy az adatbázis-kapacitáskorlátokat, valamint a meghívások alatti SMTP-késleltetést; a váratlan eltérések gyakran hiányzó cache-re, indexre, workerre vagy adatmountolásra utalnak.

Egészítsd ki a folyamatot egy hibagyakorlattal: ideiglenesen tiltsd le a működő SMTP által használt tesztútvonalat, ha meghívásokra és vészhelyzeti hozzáférési e-mailekre van szükség. A Vaultwardennek hasznos hibát kell jeleznie, meg kell őriznie a meglévő állapotot, és helyre kell állnia, amikor az érvényes feltétel visszatér. Mentsd el az időbélyegeket és a releváns naplósorokat, a titkokat kitakarva. Ez a bizonyíték lesz a következő image- vagy konfigurációmódosítás referenciája.

A terhelést figyeld, ne csak a containert

A zöld container szükséges, de nem elégséges. A service-szintű indikátor a következő teljes folyamat sikeres végrehajtása: „jelentkezz be egy böngészőbővítményből, hozz létre egy elemet, szinkronizálj egy második klienst, tölts fel egy csatolmányt, majd újraindítás után kérj le egy Sendet”. A várható terhelési jelek a csatolmányok mennyisége, a SQLite írási versengése vagy az adatbázis-kapacitáskorlátok, valamint a meghívások alatti SMTP-késleltetés.

A változáskezelés azért fontos, mert a Vaultwarden adatbázis-migrációit és a Bitwarden klienskompatibilitását együtt kell ellenőrizni; az ADMIN_TOKEN rotációja adminisztrátori hozzáférési módosítás, nem pedig vaultadat-migráció. Őrizd meg a régi image-et, teszteld a migrációkat másolt állapoton, és dokumentáld, hogy támogatott-e a rollback a séma módosítása után. Ha a DOMAIN HTTP, miközben a böngésző a vault funkcióihoz biztonságos origint igényel, azt az első határt vizsgáld, amely eltér a működő környezettől.

Zárd le az ideiglenes beállítási hozzáférést

A biztonságos Vaultwarden-deployment a jogosultságok megszüntetésével kezdődik. Ne használj gyenge admin tokent, és ne hagyd nyitva a regisztrációt; ehelyett a regisztrációs lehetőséget tiltsd le a felhasználók felvétele után, védd az adminoldalt erős tokennel, és minden vault klienshez követeld meg a HTTPS-t.

A mintaértékű ADMIN_TOKEN értékét azonnal cseréld le, az image-en kívül tárold, és ha illetéktelenekhez kerül, rotáld úgy, mint egy adminisztrátori hitelesítő adatot. Korlátozd az adminisztratív útvonalakat, használj privát DNS-t a függőségekhez, és vizsgáld felül az összes bind mountot. Központi naplótovábbítás esetén szűrd ki a titkokat és a privát tartalmakat, mielőtt elhagyják a servert.

Használd a Dockupot a platformréteghez

A Dockup megszünteti a Vaultwarden körüli manuális reverse proxy- és lifecycle-feladatokat. A service cserék során stabil HTTPS-útvonalat kap a 80-as porthoz, injektált konfigurációt és tartós tárhelyet. A csatolt ügyfélszerver ugyanazt a modellt követi, mint a Dockup által hosztolt compute.

Az indítás után teljesítsd az alkalmazás szerződését: állítsd a DOMAIN értékét a pontos külső HTTPS-originre, engedélyezd és ellenőrizd a működő SMTP-t, ha meghívásokra és vészhelyzeti hozzáférési e-mailekre van szükség, majd futtasd le ezt az ellenőrzést: jelentkezz be egy böngészőbővítményből, hozz létre egy elemet, szinkronizálj egy második klienst, tölts fel egy csatolmányt, majd újraindítás után kérj le egy Sendet. Így az egykattintásos élmény hasznos marad anélkül, hogy elrejtené a Vaultwarden helyreállíthatóságához és biztonságához szükséges részleteket.

Gyakran ismételt kérdések

Mire van szüksége a Vaultwardennek production deployment esetén?

A Vaultwarden containert a 80-as porton, egyetlen HTTPS-origin mögött irányítsd. A külső kézbesítési követelmény a működő SMTP, ha meghívásokra és vészhelyzeti hozzáférési e-mailekre van szükség. Ne tekintsd késznek a Vaultwardent addig, amíg be nem tudsz jelentkezni egy böngészőbővítményből, létre nem tudsz hozni egy elemet, nem tudsz szinkronizálni egy második klienst, fel nem tudsz tölteni egy csatolmányt, és újraindítás után le nem tudsz kérni egy Sendet.

Mely Vaultwarden-adatoknak kell szerepelniük a biztonsági mentésben?

Tedd tartóssá a /data könyvtárat, és ugyanabban a helyreállítási manifestben szerepeltesd az adatbázist, a csatolmányokat, a Sendeket, a kulcsokat és a /data alatti konfigurációt. Egy tiszta Vaultwarden restore csak akkor sikeres, ha a vault-elemek, a csatolmányok, a Sendek és a szervezeti tagság sikeresen szinkronizálódik egy tiszta klienssel a restore után.

Szüksége van a Vaultwardennek HTTPS-re reverse proxy mögött?

A publikus Vaultwarden-originhez használj HTTPS-t, a belső útvonalon pedig tartsd meg a 80-as portot. A Vaultwarden-beállítást megfelelően alkalmazd: állítsd a DOMAIN értékét a pontos külső HTTPS-originre. A Vaultwarden esetében a HTTPS védi a hitelesítő adatokat és a felhasználói tartalmakat az átvitel során, valamint egységessé teszi az originérzékeny kliensműködést.

Hogyan kell tesztelni egy Vaultwarden-frissítést?

Állítsd vissza a jelenlegi Vaultwarden-állapotot egy izolált deploymentbe, alkalmazd a jelölt verziót, majd ismételd meg az elfogadási tranzakciót. Különösen figyelj erre, mert a Vaultwarden adatbázis-migrációit és a Bitwarden klienskompatibilitását együtt kell ellenőrizni; az ADMIN_TOKEN rotációja adminisztrátori hozzáférési módosítás, nem pedig vaultadat-migráció. Tartsd meg az előző Vaultwarden image-et addig, amíg nem tisztázod az adat-migráció és a rollback határait.