Hostovanie Vaultwarden na Managed VPS: vaše heslá na vašom serveri

Hostovanie Vaultwarden na Managed VPS znamená uchovávať svoje heslá a heslá svojho tímu na stroji, ktorý máte pod kontrolou a ktorý naše tímy udržiavajú aktuálny a dohliadajú naň vo dne v noci. Vaultwarden je slobodný softvér pod licenciou AGPL-3.0. Tento sprievodca postupuje podľa jeho oficiálnej dokumentácie: inštalácia cez Docker Compose, HTTPS, zatvorenie registrácií, administrátorský token, to, čo chráni trezor, databáza, e-maily, zálohy a aktualizácie.

Simon Vasconcelos Lee Autor: Publikované 8. novembra 2026Čas čítania: 15 minút

Všetci sprievodcovia

To najdôležitejšie

  1. Licencia AGPL-3.0 umožňuje Vaultwarden voľne prevádzkovať, vo firme aj inde; ak ho upravíte, kód svojej verzie sprístupníte tým, ktorí ho používajú.
  2. Nainštalujte ho cez Docker Compose: jeden obraz, port publikovaný lokálne a priečinok s údajmi, za reverznou proxy.
  3. Webový trezor nevyhnutne potrebuje HTTPS: Vaultwarden obsluhujte na vlastnom doménovom mene a toto meno uveďte v DOMAIN.
  4. Vytvorte si účet a potom zatvorte registrácie cez SIGNUPS_ALLOWED: predvolene sa môže zaregistrovať každý, kto sa k inštancii dostane. Trezor potom chránia silné hlavné heslo a dvojfaktorové overenie.
  5. Zálohujte denne databázu aj prílohy, vyskúšajte obnovu a aktualizujte príkazom docker compose pull.

Čo Vaultwarden robí

Vaultwarden je server na správu hesiel napísaný v jazyku Rust, určený na vlastnú prevádzku. Jeho wiki ho určuje jednotlivcom, rodinám a organizáciám ľudskej veľkosti. Webový trezor je súčasťou jeho obrazov Docker.

Implementuje API kompatibilné s oficiálnymi klientmi Bitwarden v prehliadači, na počítači aj na telefóne. README upresňuje, že projekt nie je spojený s Bitwarden ani so spoločnosťou Bitwarden, Inc., a žiada, aby sa akýkoľvek problém, bez ohľadu na použitého klienta, hlásil priamo jemu, a nie oficiálnym kanálom podpory.

Wiki uvádza aj to, čo oproti oficiálnemu serveru chýba, napríklad prihlásenie prístupovým kľúčom, vlastné roly a niektoré podnikové politiky. Upresňuje, že funkcie užitočné najmä pre veľké organizácie nie sú pre projekt prioritou: ak ich potrebujete, prečítajte si tento zoznam.

Čo umožňuje licencia AGPL-3.0

Vaultwarden vychádza pod licenciou GNU Affero General Public License, verzia 3. Text potvrdzuje neobmedzené povolenie spúšťať nezmenený program. Obraz zverejnený projektom teda môžete používať pre svoju firmu a svoj tím bez licencie, ktorú by ste museli kupovať.

Článok 13 dopĺňa podmienku vlastnú AGPL: ak program upravíte, vaša verzia musí všetkým, ktorí ju používajú na diaľku, cez sieť, ponúknuť možnosť získať jej zdrojový kód zadarmo.

Inštalácia pomocou Docker Compose

README odporúča obrazy kontajnerov. Na serveri s nainštalovaným Dockerom vytvorte priečinok a umiestnite doň tento súbor compose.yaml, prevzatý z README a wiki:

compose.yaml
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data/:/data/
    ports:
      - 127.0.0.1:8000:80
Terminál
docker compose up -d

Vaše doménové meno ukazuje na server záznamami A a AAAA a návštevníci prichádzajú na porty 80 a 443. Kým reverzná proxy nie je nasadená, webový trezor zostáva nepoužiteľný: prejdite priamo na nasledujúcu časť.

Projekt neuvádza nároky na pamäť ani procesor; predstavuje sa len ako riešenie pre prípady, keď oficiálna služba, náročná na prostriedky, nevyhovuje. Veľkosť závisí od počtu účtov a objemu príloh. Na spravovanom VPS (Managed VPS) nám opíšte svoje použitie a odporučíme vám vhodnú veľkosť.

HTTPS a WebSocket: reverzná proxy

Webový trezor sa opiera o rozhranie Web Crypto API, ktoré prehliadače vyhradzujú pre zabezpečené kontexty: README uvádza, že funguje, až keď je HTTPS zapnuté, a wiki považuje HTTPS za „pretty much required“, teda takmer povinné. Projekt odporúča reverznú proxy pred Vaultwarden a odrádza od TLS zabudovaného vo svojom frameworku Rocket.

Použite uznávaný certifikát, ako sú tie od Let’s Encrypt, ktoré wiki odporúča: so samopodpísaným certifikátom niektoré platformy pripojenie odmietnu. Certifikát musí obsahovať celý reťazec, inak sa zariadenia Android nepripoja.

Notifikácie WebSocket, predvolene aktívne, upozorňujú prehliadač, desktopovú aplikáciu a rozšírenie, že sa položka zmenila. Prechádzajú cez hlavný port HTTP a proxy musí prepúšťať hlavičky Upgrade a Connection. Mobilné aplikácie používajú natívne notifikácie svojho systému, ktoré sa nastavujú osobitne.

S Caddy

Wiki radí pozrieť sa najprv na Caddy, ak nemáte preferenciu: HTTPS zapína sám, získava certifikát Let’s Encrypt a podporuje WebSocket. Nastavenie z wiki odovzdáva Vaultwardenu aj skutočnú adresu návštevníka pre jeho záznamy:

Caddyfile
vault.example.com {
  reverse_proxy 127.0.0.1:8000 {
    header_up X-Real-IP {remote_host}
  }
}

S Nginx a Certbotom

Tento blok preberá príklad Nginx z wiki, zredukovaný na port 80, aby HTTPS zapol Certbot:

Blok Nginx
upstream vaultwarden-default {
  zone vaultwarden-default 64k;
  server 127.0.0.1:8000;
  keepalive 2;
}

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      "";
}

server {
    listen 80;
    listen [::]:80;
    server_name vault.example.com;

    client_max_body_size 525M;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    location / {
      proxy_pass http://vaultwarden-default;
    }
}

Certbot potom nainštaluje certifikát a postará sa o jeho obnovu:

Terminál
sudo certbot --nginx

Overenie WebSocket

Otvorte vývojárske nástroje prehliadača, kartu sieť, filter WS, a znova sa prihláste do trezora: odpoveď 101 na /notifications/hub potvrdzuje pripojenie. Ďalší test z wiki: otvorte trezor v dvoch prehliadačoch, v jednom premenujte položku a zmena sa okamžite zobrazí v druhom.

Zatvorenie registrácií

Predvolene si na vašej inštancii môže vytvoriť účet každý, kto sa k nej dostane. Pre váš prvý účet je to užitočné a wiki odporúča potom registrácie zatvoriť, aby útočník nemohol vytvoriť vlastný.

  1. Otvorte svoju adresu HTTPS, vytvorte si účet a potom k tejto adrese pripojte svoje aplikácie.
  2. Prepnite SIGNUPS_ALLOWED na "false" v súbore compose.yaml.
  3. Znova spustite príkazom docker compose up -d: premenná prostredia je viazaná na kontajner, ktorý sa musí znova vytvoriť, aby ju zohľadnil.
compose.yaml, v environment
SIGNUPS_ALLOWED: "false"

Hneď ako uložíte konfiguráciu z administrátorskej stránky, v priečinku s údajmi vznikne súbor config.json, ktorý má prednosť pred premennými prostredia. Dotknuté nastavenia sa potom menia z tejto stránky: úprava compose.yaml už nestačí.

Administrátorská stránka a jej token

Stránka /admin slúži na konfiguráciu Vaultwardenu, zobrazenie a odstraňovanie účtov a organizácií, odobratie dvojfaktorového overenia používateľovi, pozývanie a čítanie diagnostiky. Bez ADMIN_TOKEN zostáva vypnutá: ak ju nepotrebujete, nechajte ju tak.

Wiki dôrazne odporúča zapnúť HTTPS ešte pred touto stránkou. Token slúži ako heslo a môže sa uchovávať v zahashovanej podobe, argon2id, namiesto čistého textu v konfigurácii. Vaultwarden na to ponúka príkaz: dvakrát sa opýta na heslo a potom vráti reťazec PHC.

Terminál
docker run --rm -it vaultwarden/server /vaultwarden hash

Tento reťazec umiestnite do súboru .env, vedľa compose.yaml, medzi apostrofy, a potom ho zavolajte zo služby:

.env
VAULTWARDEN_ADMIN_TOKEN='$argon2id$...'
compose.yaml, v environment
ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN}

Skontrolujte výsledok, znova spustite a potom sa prihláste na /admin svojím heslom, nie reťazcom PHC:

Terminál
docker compose config
docker compose up -d

Čo chráni trezor

Prvou ochranou je hlavné heslo. Údaje trezora sú šifrované osobnými alebo organizačnými kľúčmi: kto získa kópiu databázy alebo si vynúti reláciu, musí na ich prečítanie ešte prelomiť toto heslo. Rozhoduje teda jeho sila. Samotná administrátorská relácia umožňuje odstrániť účet alebo odobrať dvojfaktorové overenie, no nedáva prístup k údajom trezora.

OchranaČo prinášaKde sa nastavuje
Hlavné hesloUdržiava údaje zašifrované, aj keď kópia databázy kolujeKaždý používateľ si ho volí, dlhé a jedinečné pre tento trezor
Dvojfaktorové overenieBez neho wiki pripomína, že uhádnutie hesla hrubou silou je teoreticky stále možnéV každom účte; politika organizácie ho môže vyžadovať
HTTPSŠifruje cestu medzi klientom a serveromReverzná proxy
Zatvorené registrácieBráni cudziemu človeku, aby si vytvoril účetSIGNUPS_ALLOWED
Nápovedy k hesluZobrazené na stránke by pomáhali hádať heslo; verzia 1.37.5 ich predvolene skrývaNechajte SHOW_PASSWORD_HINT na false; PASSWORD_HINTS_ALLOWED ich odstráni úplne
Limit pokusovBrzdí pokusy z jednej adresy, prihlásenie aj /adminLOGIN_RATELIMIT_SECONDS a ADMIN_RATELIMIT_SECONDS
Fail2banBlokuje adresy po príliš mnohých neúspechoch, čo wiki považuje za obzvlášť dôležité pri verejnej inštanciiNa serveri, na základe záznamu LOG_FILE

Zabudnutie hlavného hesla ošetrite skôr, než nastane: zapnite núdzový prístup svojho účtu a v organizácii obnovu účtu, ktorá vyžaduje nastavený e-mail.

Tri ďalšie nastavenia z príručky sprísnenia zabezpečenia

SQLite, MariaDB alebo PostgreSQL

Ten istý obraz podporuje všetky tri databázy. Wiki opisuje SQLite ako najpoužívanejšiu a najlepšie otestovanú a odporúča ju pre väčšinu použití, pokiaľ nepotrebujete konkrétne inú.

DatabázaZavedenieZáloha
SQLiteŽiadne: jeden súbor, vw-data/db.sqlite3Príkaz /vaultwarden backup alebo kópia priečinka pri zastavenej službe
MariaDB alebo MySQLVáš databázový server a DATABASE_URL v tvare mysql://Export databázy popri priečinku vw-data
PostgreSQLVáš databázový server a DATABASE_URL v tvare postgresql://Export databázy popri priečinku vw-data
compose.yaml, v environment (PostgreSQL)
DATABASE_URL: "postgresql://user_name:user_password@db_host:5432/vaultwarden"

Vytvorte prázdnu databázu a jej používateľa: pri štarte si Vaultwarden vytvorí schému sám. Heslo so špeciálnymi znakmi sa v tejto adrese zapisuje v percentuálnom kódovaní.

Túto voľbu urobte skôr, než naplníte trezor. Wiki opisuje prechod zo SQLite na PostgreSQL pomocou pgloader, pričom upresňuje, že túto cestu projekt nepodporuje, že sa robí na vlastné riziko a že začína zálohou.

E-maily: konfigurácia SMTP

Vaultwarden sa spúšťa bez e-mailu, ale od neho závisí viacero funkcií: pozvánky, overovanie adries, odosielanie nápoved k heslu, dvojfaktorové overenie e-mailom a obnova účtu.

Na VPS Simafri odosielanie prechádza cez overené relé SMTP na porte 587: adresa poštového účtu, ktorý už máte, alebo Simafri Suite. Heslo patrí do súboru .env, rovnako ako administrátorský token:

compose.yaml, v environment
SMTP_HOST: "smtp.example.com"
SMTP_FROM: "vault@example.com"
SMTP_PORT: "587"
SMTP_SECURITY: "starttls"
SMTP_USERNAME: "vault@example.com"
SMTP_PASSWORD: ${VAULTWARDEN_SMTP_PASSWORD}

Ak nič neodchádza, wiki navrhuje otestovať pripojenie k relé zo servera. Príkaz vráti 0, keď relé odpovedá:

Terminál
timeout 5 bash -c 'cat < /dev/null > /dev/tcp/smtp.example.com/587'; echo $?

Zálohy

README pripomína, že projekt nemožno brať na zodpovednosť za stratu údajov, a dôrazne odporúča pravidelné zálohy. Wiki ich radí automatické, aspoň s jednou kópiou inde. Takto vyzerá obsah priečinka s údajmi pri SQLite:

PrvokČo uchovávaZálohovať
db.sqlite3Takmer všetky údaje: účty, organizácie, trezoryPovinne
attachments/Prílohy, uložené mimo databázyPovinne
config.jsonKonfigurácia administrátorskej stránky, vrátane citlivých údajov v čistom texteOdporúčané, šifrovane
rsa_key*Kľúče, ktoré podpisujú relácie; ich strata odhlási používateľovOdporúčané, šifrovane
sends/Súbory odoslané cez Send, svojou povahou dočasnéVoliteľné
icon_cache/Ikony webov, podľa potreby stiahnuté znovaVoliteľné

Databáza pri bežiacej službe

Od verzie 1.32.1 vie Vaultwarden zálohovať svoju databázu SQLite sám, bez zastavenia služby:

Terminál
docker exec -it vaultwarden /vaultwarden backup

Príkaz zapíše súbor db_RRRRMMDD_HHMMSS.sqlite3 vedľa databázy, v vw-data. Obraz neobsahuje ani sqlite3, ani cron: wiki radí naplánovať úlohu na serveri, aspoň raz denne. Vynechajte potom -it, pretože naplánovaná úloha nemá terminál, a tieto súbory, ktoré sa hromadia, prebierajte.

Celý priečinok pri zastavenej službe

Keď sa databáza nepoužíva, stačí jednoduchá kópia všetkých jej súborov. Je to metóda pri zastavenej službe, ktorú wiki uvádza ako príklad pre Docker, a odnáša aj prílohy:

Terminál, v priečinku so súborom compose.yaml
docker compose down
tar -czf vaultwarden-$(date +%F).tar.gz vw-data
docker compose up -d

Wiki považuje vrstvu šifrovania za užitočnú, najmä keď záloha obsahuje administrátorský token a prístupové údaje SMTP, a na odosielanie kópií na diaľku uvádza rclone, restic a rustic. S MariaDB alebo PostgreSQL pridajte k priečinku vw-data export databázy.

Wiki žiada nespoliehať sa len na snímky disku, ktoré sa obnovujú ťažšie. Uchovávajte teda tieto kópie špecifické pre aplikáciu: uložené na disku servera sa dostanú aj do jeho nočných záloh.

Obnova

  1. Zastavte Vaultwarden.
  2. Nahraďte každý súbor alebo priečinok v vw-data jeho zálohovanou verziou.
  3. Ak databáza pochádza z /vaultwarden backup, pomenujte ju db.sqlite3 a najprv odstráňte každý existujúci súbor db.sqlite3-wal: nezodpovedajúci žurnál môže databázu poškodiť. Ak pochádza z priamej kópie, obnovte spolu db.sqlite3 a jej db.sqlite3-wal.
  4. Znova spustite a overte, že trezor viete otvoriť.

Wiki radí toto cvičenie z času na čas zopakovať a ponechať si pritom kópiu pôvodných údajov: takto overíte, že záloha funguje.

Aktualizácie

Wiki uvádza dva príkazy, spúšťané z priečinka so súborom compose.yaml. Priečinok s údajmi zostáva na mieste:

Terminál
docker compose pull
docker compose up -d

Tieto aktualizácie majú väčšiu váhu než inde. Mobilné aplikácie a rozšírenia prehliadača sa aktualizujú samy a wiki upozorňuje, že rozdiel vo verzii oproti serveru môže spôsobiť náhle výpadky. Webový trezor, súčasť obrazu, zostáva vždy zladený so svojím serverom.

Projekt nemá kalendár vydaní: sledujte jeho poznámky k vydaniu a tesne pred každou aktualizáciou spustite zálohu. Niektoré obsahujú bezpečnostné opravy, ako verzia 1.37.5 z 1. novembra 2026, ktorej poznámky odporúčajú aktualizovať čo najskôr. Tieto poznámky tiež upozorňujú, že od verzie 1.37.5 neplatná hodnota konfigurácie zabráni spusteniu Vaultwardenu: pred aktualizáciou si znova prejdite svoj súbor s premennými prostredia. Diagnostická stránka v /admin ukazuje, či existuje novšia verzia.

Kto čo robí na Managed VPS

Hostovanie na vlastnom serveri vyžaduje popri aplikácii starať sa aj o server. Na Managed VPS preberajú server naše tímy a vašu inštanciu proaktívne sledujú; Vaultwarden zostáva vaším softvérom, s vašimi nastaveniami a údajmi.

TémaNaše tímyVy
ServerAktualizácie systému a zabezpečenia, vrátane zásahov na serveriČas, ktorý vyhovuje vašej činnosti
DohľadServer sledovaný 24 hodín denne, 7 dní v týždni, so zásahom bez čakania na vaše zavolanieČítanie záznamov vašej inštancie
VaultwardenProaktívne sledovanie: chyby, spomalenia a miesto na disku, s odporúčanou opravouJeho inštalácia, aktualizácie a nastavenia, ktoré zapracujete vy alebo váš AI asistent
Účty a trezorServer, ktorý ich nesie, sledovaný a zálohovanýPoužívatelia, pozvánky, hlavné heslá a dvojfaktorové overenie
ZálohyKaždú noc, šifrované a uchovávané mimo stroja; obnova je v ceneKópie špecifické pre Vaultwarden a žiadosť o obnovu, keď ju potrebujete
MigráciaVáš súčasný server prenesený zdarmaČas prepnutia

Ak by ste uprednostnili, aby naše tímy zasiahli priamo v aplikácii, táto služba sa fakturuje hodinovo alebo paušálne, s cenovou ponukou oznámenou pred zásahom.

Vaultwarden na serveri, o ktorý sa staráme za vás

S Managed VPS od Simafri udržiavajú naše tímy server vašej inštancie Vaultwarden aktuálny, sledujú ho vo dne v noci a zasahujú bez čakania na vaše zavolanie; vašu inštanciu navyše proaktívne sledujú a odporúčajú vám užitočné opravy, ktoré zapracujete vy alebo váš AI asistent. Zálohy sa každú noc šifrujú a uchovávajú mimo stroja, ich obnova je v cene a migrácia vášho súčasného servera je zdarma.

Objaviť Managed VPS

Časté otázky

Je Vaultwarden pre firmu zadarmo?

Áno. Vaultwarden vychádza pod licenciou AGPL-3.0: môžete ho prevádzkovať vo firme bez licencie, ktorú by ste museli kupovať. Ak ho upravíte, vaša verzia musí ponúknuť zdrojový kód tým, ktorí ju používajú cez sieť. Zostáva náklad na server, na ktorom beží.

Funguje Vaultwarden s aplikáciami Bitwarden?

Áno. README predstavuje Vaultwarden ako kompatibilný s oficiálnymi klientmi Bitwarden, pričom upresňuje, že projekt nie je spojený s Bitwarden ani so spoločnosťou Bitwarden, Inc. Problém sa preto hlási projektu Vaultwarden, bez ohľadu na použitého klienta.

Ako nainštalovať Vaultwarden cez Docker Compose?

Vytvorte compose.yaml s obrazom vaultwarden/server, priečinkom s údajmi a portom publikovaným na 127.0.0.1 a spustite docker compose up -d. Potom pred neho umiestnite reverznú proxy s HTTPS: bez HTTPS webový trezor nefunguje. Uveďte tiež svoju adresu v DOMAIN.

Ako vypnúť registrácie vo Vaultwarden?

Po vytvorení svojho účtu prepnite SIGNUPS_ALLOWED na false v compose.yaml a znova spustite docker compose up -d. Organizácie môžu stále pozývať: INVITATIONS_ALLOWED nastavené na false túto možnosť odstráni. Ak administrátorská stránka už uložila svoju konfiguráciu, urobte toto nastavenie z nej.

Ako nastaviť administrátorský token Vaultwarden?

Spustite príkaz vaultwarden hash, ktorý vráti reťazec argon2id, a umiestnite ho do ADMIN_TOKEN, pri Docker Compose zo súboru .env. Na /admin sa potom prihlásite svojím heslom. Bez ADMIN_TOKEN zostáva stránka vypnutá.

Čo chráni trezor Vaultwarden?

Predovšetkým hlavné heslo: údaje sú šifrované a kópiu databázy možno prečítať, len ak sa heslo prelomí. K tomu sa pridávajú dvojfaktorové overenie, HTTPS, zatvorené registrácie, zahashovaný administrátorský token a šifrované zálohy.

Ako zálohovať Vaultwarden?

So SQLite spúšťajte denne príkaz /vaultwarden backup v kontajneri a kopírujte aj priečinok attachments, config.json a súbory rsa_key. S MariaDB alebo PostgreSQL pridajte export databázy. Obnovu pravidelne testujte.

Pokrýva Managed VPS aj Vaultwarden?

Managed VPS pokrýva server: systém, zabezpečenie, dohľad a zálohy. Naše tímy vašu inštanciu aj proaktívne sledujú a odporúčajú vám užitočné opravy, ktoré zapracujete vy. Zásah v samotnej aplikácii sa fakturuje hodinovo alebo paušálne.

Zdroje a oficiálna dokumentácia

Kontaktujte nás