Krótka odpowiedź
Jak samodzielnie postawić Vaultwarden na VPS?
Aby samodzielnie postawić Vaultwarden na VPS, uruchomić obraz vaultwarden/server przez Docker Compose, postawić przed nim Caddy dla automatycznego HTTPS na domenie, którą się posiada, założyć konto, a potem wyłączyć rejestrację. Plan Dusk Gloamport, 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic, kosztuje $5.25 miesięcznie przy 12-miesięcznym okresie.
Co zawiera konfiguracja Vaultwarden w Compose?
| Element | Wartość | Uwaga |
|---|---|---|
| Obraz Vaultwarden | vaultwarden/server:latest | Dane przechowywane w ./vw-data montowanym jako /data |
| Odwrotne proxy | caddy:2 | Opublikowane porty 80, 443 i 443/udp |
| Zmienna DOMAIN | https://vault.example.com | Wymagana za odwrotnym proxy; HTTPS jest potrzebne do załączników |
| Certyfikaty | Caddy, wyzwanie ACME HTTP-01 | Domena musi wskazywać VPS na porcie 80 |
| Rejestracja | SIGNUPS_ALLOWED | true, aby utworzyć własne konto, a potem false |
| Strona administratora | ADMIN_TOKEN | Wyłączona, dopóki nie ustawiono tokenu; wiki zaleca hash argon2 |
| Sugerowany plan | Dusk: 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic | Lista planów Gloamport |
Ceny sprawdzone
Czy dobrym pomysłem jest hostowanie własnego menedżera haseł?
Pasuje, jeśli przyjmuje się obowiązek jego utrzymania, tworzenia kopii zapasowych i łatania. Vaultwarden przechowuje sejf zaszyfrowany, ale serwer nadal decyduje, kto może się zalogować, i trzyma jedyną kopię, chyba że zrobi się inne. Utrata danych oznacza brak dostawcy, który je przywróci.
Trzy fakty kształtują tę decyzję. Żaden plan nie obejmuje kopii zapasowych: własną kopię tego, czego nie można stracić, trzeba przechowywać osobno. Sejf jest tak dostępny, jak VPS, który go niesie, więc trzeba zachować też offline eksport sejfu. Domena używana do tego jest publiczna w DNS i w logach certyfikatów, więc należy wybrać taką, w której nie ma nazwiska. Jeśli te punkty są do przyjęcia, pojedynczy mały VPS jest zwyczajnym miejscem dla tego serwera.
Jak zainstalować Vaultwarden z Docker Compose i Caddy
Potrzebna jest domena, której rekord A wskazuje na VPS. Polecenia działają na Debianie 13 lub Ubuntu 24.04.
Instalacja Docker Engine z wtyczką Compose
Postępować według strony instalacji Dockera dla Debiana lub Ubuntu, a następnie uruchomić wiersz apt install dla docker-ce i docker-compose-plugin z pierwszego bloku kodu. Sprawdzić poleceniem docker run hello-world.
Utworzenie katalogu projektu i Caddyfile
Utworzyć katalog vaultwarden i zapisać Caddyfile oraz docker-compose.yml z bloków kodu. Zastąpić vault.example.com własną domeną, a e-mail adresem dla certyfikatu. Adres służy urzędowi certyfikacji, a nie Gloamport.
Otwarcie portów WWW
Porty 80 i 443 muszą docierać do VPS: wyzwanie HTTP-01 wymaga portu 80, aby uzyskać certyfikat. Przy użyciu ufw lub innej zapory zezwolić na 80/tcp, 443/tcp i 443/udp oraz na SSH.
Uruchomienie stosu
Uruchomić docker compose up -d w tym katalogu. Caddy zażąda certyfikatu przy pierwszym starcie. Otworzyć https://vault.example.com i założyć konto.
Zamknięcie rejestracji
Ustawić SIGNUPS_ALLOWED na "false" w pliku compose i ponownie uruchomić docker compose up -d. Nowe konta można wtedy dodawać tylko przez zaproszenie lub przez właściciela.
Kopia zapasowa katalogu danych
Użyć procedury kopii zapasowej Vaultwarden z ostatniego bloku kodu, według harmonogramu, z jedną kopią przechowywaną poza VPS.
# After adding Docker's apt repository (docs.docker.com/engine/install/debian/)
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
mkdir -p ~/vaultwarden && cd ~/vaultwarden
# write docker-compose.yml and Caddyfile (below), then:
sudo docker compose up -dservices:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 80:80
- 443:443
- 443:443/udp
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-config:/config
- ./caddy-data:/data
environment:
DOMAIN: "https://vault.example.com"
EMAIL: "[email protected]"{$DOMAIN} {
tls {$EMAIL}
encode zstd gzip
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}# Optional admin page: hash a long random password, put the result in ADMIN_TOKEN
sudo docker exec -it vaultwarden /vaultwarden hash
# Database backup while the server runs (SQLite online backup)
sqlite3 vw-data/db.sqlite3 ".backup '/root/backups/db-$(date +%Y%m%d-%H%M).sqlite3'"
# Also copy: vw-data/attachments/, vw-data/config.json, vw-data/rsa_key*Co należy kopiować z serwera Vaultwarden?
Wykonać kopię zapasową db.sqlite3, katalogu załączników, config.json i plików rsa_key. Strona kopii zapasowych Vaultwarden wymienia db.sqlite3 i załączniki jako wymagane, config.json i pliki rsa_key jako zalecane, a wysyłki i pamięć podręczną ikon jako opcjonalne. Mówi, aby używać polecenia .backup z SQLite zamiast kopiowania otwartego pliku, i aby nie polegać na migawkach systemu plików ani maszyny wirtualnej.
Strona ostrzega też, że config.json zawiera część sekretów w postaci jawnej, więc trzeba go zaszyfrować, zanim opuści VPS. Kopię wykonywać codziennie, jedną trzymać poza serwerem i raz przywrócić ją na zapasowej maszynie, aby sprawdzić, że działa. Wersje Vaultwarden od 1.32.1 mają też wbudowane polecenie kopii zapasowej opisane w wiki.
Który plan Gloamport uruchamia Vaultwarden?
Dusk to plan, od którego zaczynamy: 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB traffic przy $5.25 miesięcznie w 12-miesięcznym okresie, $10.50 przy jednym miesiącu. Wiki Vaultwarden nie podaje wielkości zasobów, a my nie testowaliśmy tego, więc Dusk należy traktować jako punkt wyjścia. Jeśli na tym samym VPS działa też serwer czatu i wyszukiwarka, Gloam (2 vCPU, 4 GB RAM, 80 GB NVMe, 4 TB traffic, $8.25 miesięcznie w 12-miesięcznym okresie) jest wskazywany dla Serwer Matrix, Vaultwarden i SearXNG razem.
Bez weryfikacji tożsamości, teraz ani później: bez przesyłania dokumentu, bez selfie, bez potwierdzenia adresu, bez karty i bez numeru telefonu. Według ankiety Gloamport dotyczącej 10 listopada 2026, 28 z 49 wymienionych dostawców nie wymaga dokumentu tożsamości przy rejestracji. Plany i okresy rozliczeniowe wymieniają każdy rozmiar.
Jak zabezpieczyć stronę administratora i serwer?
Wyłączyć stronę administratora, jeśli nie jest potrzebna, i zabezpieczyć SSH przed wszystkim innym. Wiki mówi, że strona administratora istnieje dopiero po ustawieniu tokenu uwierzytelniania, że token pełni rolę hasła do części administracyjnej oraz że przed jego włączeniem HTTPS powinno być aktywne. Zaleca przechowywanie tokenu jako hasha argon2, aby nie dało się go po prostu odczytać z konfiguracji.
Na hoście stosować logowanie SSH tylko kluczem i zaporę, jak w Jak zabezpieczyć SSH na nowym VPS?. Serwer menedżera haseł jest łakomym celem, więc aktualizacje instalować przez ponowne pobranie obrazów i uruchomienie docker compose up -d. Dla drugiej usługi na tym samym VPS zobacz Jak postawić serwer Matrix na VPS?.
Podsumowanie
- Vaultwarden działa z obrazu vaultwarden/server, a dane znajdują się w ./vw-data.
- Caddy pobiera certyfikat HTTPS metodą wyzwania HTTP-01; domena musi docierać na port 80.
- Ustawić DOMAIN na adres https; wiki podaje, że HTTPS jest potrzebne do załączników.
- Założyć konto, a potem ustawić SIGNUPS_ALLOWED na false.
- Strona administratora wymaga ADMIN_TOKEN; wiki zaleca hash argon2.
- Kopia db.sqlite3 poleceniem .backup oraz załączników, config.json i plików rsa_key.
- Dusk, $5.25 miesięcznie przy 12 miesiącach, to plan startowy.
Samodzielny hosting Vaultwarden: najczęstsze pytania
Czy potrzebna jest nazwa domeny?
Tak, w tej konfiguracji. DOMAIN musi być adresem https, a Caddy uzyskuje dla niego certyfikat. Wiki opisuje ścieżkę z wyzwaniem DNS dla prywatnych instancji bez dostępu publicznego.
Czy Vaultwarden to to samo co Bitwarden?
Nie. Vaultwarden to osobny, lżejszy serwer, który współpracuje z klientami Bitwardena. Korzysta się z aplikacji Bitwarden i wskazuje się im adres własnego serwera.
Jak nie dopuścić, by inni tworzyli konta?
Ustawić SIGNUPS_ALLOWED na false po utworzeniu własnego konta, a potem odtworzyć kontener. Gdy rejestracja jest zamknięta, nowych użytkowników nadal można dodać przez zaproszenia.
Co, jeśli VPS przestanie działać?
Przywraca się dane z kopii zapasowej. Żaden plan nie obejmuje kopii zapasowych: własną kopię tego, czego nie można stracić, trzeba przechowywać osobno. Zaszyfrowaną kopię trzymać poza VPS i raz przetestować przywracanie.
Jakie obrazy oferuje Gloamport?
Obrazy: Debian 13, Debian 12, Ubuntu 24.04 LTS, AlmaLinux 10, Rocky Linux 10. Docker działa na Debianie 13 i Ubuntu 24.04, obu wymienionych.
Źródła (4)
- Wiki Vaultwarden: używanie Docker Compose — Vaultwarden project (checked 2026-11-10)
- Wiki Vaultwarden: włączanie strony administratora — Vaultwarden project (checked 2026-11-10)
- Wiki Vaultwarden: tworzenie kopii zapasowej sejfu — Vaultwarden project (checked 2026-11-10)
- Instalacja Docker Engine na Debianie — Docker Inc. (checked 2026-11-10)