Language: cs
Vaultwarden: instalace vlastního správce hesel na VPS
Vaultwarden umožňuje ukládat hesla na vlastním serveru a synchronizovat je mezi počítačem, telefonem a prohlížečem. Funguje s oficiálními aplikacemi a rozšířeními Bitwarden, ve kterých zadáte adresu vlastního serveru.
Níže se podíváme, jaké VPS Vaultwarden potřebuje, jak ho spustit na Ubuntu pomocí Docker Compose, zakázat otevřenou registraci, zapnout HTTPS a nastavit zálohy.
Vaultwarden v pěti krocích
Minimální plán spuštění:
- Vytvořte VPS s Ubuntu a nasměrujte na něj subdoménu, například
vault.example.com. - Nainstalujte Docker a Docker Compose.
- Spusťte Vaultwarden společně s Caddy pro automatické HTTPS.
- Vytvořte první účet a zakažte otevřenou registraci.
- Zapněte dvoufaktorové ověřování, aktualizace a zálohy.
Pro osobní trezor nebo malou rodinu je vestavěná databáze SQLite dostačující. Samostatný server PostgreSQL obvykle není potřeba.
Co je Vaultwarden
Vaultwarden je neoficiální implementace API Bitwardenu napsaná v jazyce Rust a určená pro self-hosted nasazení. Je kompatibilní s oficiálními klienty Bitwarden: webovým rozhraním, mobilními a desktopovými aplikacemi, rozšířeními prohlížeče i CLI.
Data trezoru se na zařízení uživatele zašifrují ještě před odesláním na server. VPS synchronizuje zašifrovanou databázi, ale nezná hlavní heslo a při jeho ztrátě ho nedokáže obnovit.
Vaultwarden není oficiální produkt Bitwarden. Za aktualizace, dostupnost, HTTPS, zálohy a zabezpečení VPS odpovídá vlastník sám.
Vaultwarden a Bitwarden: v čem se liší
| Parametr | Bitwarden Cloud | Vaultwarden |
|---|---|---|
| Server | Infrastruktura Bitwardenu | Vaše VPS nebo domácí server |
| Aplikace | Klienti Bitwarden | Stejní klienti v režimu Self-hosted |
| Údržba | Zajišťuje poskytovatel | Zajišťuje vlastník |
| Kontrola nad zálohami | Omezená službou | Úplná |
| Nastavení | Registrace účtu | Konfigurace domény, Dockeru a VPS |
Vaultwarden se hodí pro ty, kteří chtějí mít serverovou část pod kontrolou a jsou připraveni aktualizovat Linux a ověřovat zálohy. Cloudová služba je praktičtější, pokud se nechcete starat o správu. Self-hosting automaticky neznamená bezpečný systém — odpovědnost přechází na vlastníka.
Požadavky na server Vaultwarden
Pro osobní použití je rozumná výchozí konfigurace:
- 1 vCPU;
- 1–2 GB RAM;
- 10–20 GB SSD nebo NVMe;
- Ubuntu 24.04 LTS;
- veřejná IP adresa a doména;
- otevřené porty 80 a 443.
Jde o praktickou rezervu pro Ubuntu, Docker, Caddy a aktualizace, nikoli o striktní minimum projektu. Pro desítky uživatelů, velké množství příloh nebo několik kontejnerů je lepší zvolit alespoň 2 GB RAM.
Jak nainstalovat Vaultwarden na VPS
Tento příklad používá Ubuntu 24.04 a subdoménu vault.example.com. Ve všech souborech ji nahraďte vlastní adresou.
1. Nakonfigurujte DNS a připravte Ubuntu
Vytvořte DNS záznam A směřující na IPv4 adresu VPS. Poté se připojte přes SSH:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableNeukončujte aktuální SSH relaci, dokud neověříte, že nové připojení funguje.
2. Nainstalujte Docker a Docker Compose
Přidejte oficiální repozitář Dockeru:
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose version3. Vytvořte konfiguraci
mkdir -p /opt/vaultwarden
cd /opt/vaultwardenVytvořte 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
caddy:
image: caddy:2-alpine
container_name: vaultwarden-caddy
restart: unless-stopped
depends_on:
- vaultwarden
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/configVytvořte Caddyfile:
vault.example.com {
reverse_proxy vaultwarden:80
}Externě je vystaven pouze Caddy. Kontejner Vaultwarden je dostupný uvnitř sítě Dockeru a data se ukládají do /opt/vaultwarden/vw-data. V aktuálním nastavení není samostatný port WebSocket potřeba.
4. Spusťte Vaultwarden
docker compose up -d
docker compose ps
docker compose logs --tail=100 caddyOtevřete https://vault.example.com. Pokud DNS již ukazuje na VPS a porty 80 a 443 jsou dostupné, Caddy automaticky získá certifikát TLS. Když se web neotevře, zkontrolujte DNS, firewall a to, zda tyto porty nepoužívá jiný webový server.
5. Vytvořte účet a zakažte registraci
Zaregistrujte první účet. Použijte dlouhé jedinečné hlavní heslo a uschovejte jeho nouzovou kopii mimo Vaultwarden: správce serveru hlavní heslo nemůže resetovat ani obnovit.
Po registraci změňte v compose.yaml následující hodnotu:
SIGNUPS_ALLOWED: "false"Použijte nové nastavení:
docker compose up -dOstatní lidé nyní nebudou moci vytvářet účty. Chcete-li přidat nového uživatele, můžete registraci dočasně povolit nebo nastavit pozvánky.
Jak připojit aplikaci Bitwarden
Samostatného klienta Vaultwarden instalovat nemusíte. Na přihlašovací obrazovce aplikace nebo rozšíření Bitwarden vyberte Self-hosted a zadejte:
https://vault.example.comTuto adresu použijte v počítači, telefonu i prohlížeči. Při migraci importujte export z předchozího správce hesel. Nešifrovaný soubor CSV nebo JSON ihned po přenosu smažte a neposílejte ho e-mailem ani přes veřejné odkazy.
Bezpečné nastavení Vaultwarden
Po spuštění proveďte několik kroků:
- zapněte TOTP nebo WebAuthn a obnovovací kódy uložte samostatně;
- ponechte
SIGNUPS_ALLOWEDvypnuté; - používejte klíče SSH a pravidelně aktualizujte Ubuntu;
- nevystavujte interní port kontejneru Vaultwarden;
- nespouštějte na stejném VPS pochybné kontejnery;
- ověřte, že lze zálohy obnovit.
Panel /admin je pro osobní trezor obvykle zbytečný. Pokud ho povolíte, použijte dlouhý token ve formě hashe Argon2 a pokud možno omezte přístup podle IP adresy nebo VPN. Ukládání prostého textu ADMIN_TOKEN není vhodné.
Před aktualizací vytvořte zálohu a spusťte:
cd /opt/vaultwarden
docker compose pull
docker compose up -dServer pravidelně aktualizujte: klienti Bitwarden se vydávají nezávisle, takže velmi stará verze Vaultwarden s nimi může ztratit kompatibilitu.
Zálohování Vaultwarden
Hlavní databáze SQLite se nachází v vw-data/db.sqlite3, zatímco přílohy jsou uložené jako samostatné soubory. Běžícímu serveru nekopírujte databázi obyčejným příkazem cp: zápis právě v danou chvíli může vytvořit nekonzistentní kopii.
Bezpečný snapshot vytvoříte vestavěným příkazem:
docker exec vaultwarden /vaultwarden backupV datovém adresáři se objeví samostatný soubor db_.sqlite3. Spolu s ním uložte adresáře a soubory attachments, sends, config.json, pokud byl vytvořen, a rsa_key.
Záloha na stejném VPS nechrání před smazáním serveru ani poruchou disku. Automaticky posílejte kopie do jiného zařízení nebo odděleného objektového úložiště, ideálně s dalším šifrováním. Pravidelně provádějte zkušební obnovu.
Jaké VPS vybrat pro Vaultwarden
Základní Linux VPS s 2 GB RAM stačí pro osobní nebo rodinný trezor. Poskytne rezervu pro Ubuntu, Docker, Caddy, aktualizace a automatické zálohy.
Vaultwarden můžete provozovat na základním VPS od tropic.host a později zdroje navýšit, pokud na server přidáte další self-hosted služby. U správce hesel je důležitější stabilní síť, trvalá veřejná adresa a spolehlivý disk než další jádra CPU.
Vhodný je i domácí server, ale pak musíte zajistit externí přístup, HTTPS, stabilní napájení a obnovu po výpadcích. VPS bývá jednodušší, když má trezor fungovat z libovolné sítě.
Závěr
Vaultwarden je pohodlný self-hosted správce hesel pro ty, kteří chtějí používat klienty Bitwarden a přitom mít serverovou část ve vlastní infrastruktuře. Pro začátek stačí malé VPS, doména, Docker Compose a Caddy.
Hlavní odpovědnost začíná po instalaci: zakažte registraci, zapněte 2FA, aktualizujte kontejnery a udržujte otestované zálohy mimo server.
FAQ
Lze Vaultwarden nainstalovat bez domény?
Technicky můžete použít lokální adresu, ale webový trezor vyžaduje bezpečný kontext HTTPS. Pro přístup z různých zařízení je jednodušší použít doménu a certifikát TLS.
Kolik RAM Vaultwarden potřebuje?
Pro jednoho nebo několik uživatelů obvykle stačí 1 GB RAM. VPS se 2 GB poskytne pohodlnější rezervu pro systém, Docker, Caddy a aktualizace.
Funguje Vaultwarden s mobilní aplikací Bitwarden?
Ano. Na přihlašovací obrazovce vyberte self-hosted server a zadejte úplnou HTTPS adresu své instance Vaultwarden.
Co se stane, když VPS dočasně nebude dostupné?
Dříve synchronizovaná data obvykle zůstanou v místní šifrované mezipaměti klienta. Dokud server neobnovíte, nebude ale fungovat synchronizace, přihlášení na novém zařízení ani příjem změn.
Lze obnovit zapomenuté hlavní heslo přes /admin?
Ne. Správce může řídit server a účty, ale nemá dešifrovací klíč k trezoru uživatele. Hlavní heslo a obnovovací kódy je nutné uložit odděleně.
