Bez KYC · e-mail opcjonalny · płatność w Monero, Bitcoin lub USDT
Język: Polski
Uruchom VPS

Poradnik · Self-hosting · sprawdzono 2026-11-10

Jak samodzielnie postawić Vaultwarden na VPS?

Vaultwarden to mały serwer mówiący w API Bitwardena. Ten poradnik idzie za wiki Vaultwarden: Docker Compose, Caddy dla HTTPS, a potem wyłączenie rejestracji i kopia zapasowa.

Ostatnia aktualizacja: · 6 min czytania

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?

ElementWartośćUwaga
Obraz Vaultwardenvaultwarden/server:latestDane przechowywane w ./vw-data montowanym jako /data
Odwrotne proxycaddy:2Opublikowane porty 80, 443 i 443/udp
Zmienna DOMAINhttps://vault.example.comWymagana za odwrotnym proxy; HTTPS jest potrzebne do załączników
CertyfikatyCaddy, wyzwanie ACME HTTP-01Domena musi wskazywać VPS na porcie 80
RejestracjaSIGNUPS_ALLOWEDtrue, aby utworzyć własne konto, a potem false
Strona administratoraADMIN_TOKENWyłączona, dopóki nie ustawiono tokenu; wiki zaleca hash argon2
Sugerowany planDusk: 1 vCPU, 2 GB RAM, 40 GB NVMe, 2 TB trafficLista 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. Kopia zapasowa katalogu danych

    Użyć procedury kopii zapasowej Vaultwarden z ostatniego bloku kodu, według harmonogramu, z jedną kopią przechowywaną poza VPS.

Instalacja Docker, a potem uruchomienie stosu
# 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 -d
docker-compose.yml (z wiki Vaultwarden, domena zmieniona)
services:
  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]"
Caddyfile
{$DOMAIN} {
  tls {$EMAIL}
  encode zstd gzip
  reverse_proxy vaultwarden:80 {
    header_up X-Real-IP {remote_host}
  }
}
Hash tokenu administratora i kopia zapasowa (wiki Vaultwarden)
# 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)
  1. Wiki Vaultwarden: używanie Docker Compose — Vaultwarden project (checked 2026-11-10)
  2. Wiki Vaultwarden: włączanie strony administratora — Vaultwarden project (checked 2026-11-10)
  3. Wiki Vaultwarden: tworzenie kopii zapasowej sejfu — Vaultwarden project (checked 2026-11-10)
  4. Instalacja Docker Engine na Debianie — Docker Inc. (checked 2026-11-10)

Od $3.74/mies. · bez KYC

Uruchom VPS