Jak zainstalować Vaultwarden za pomocą Dockera: kompletny przewodnik po samodzielnym hostowaniu haseł

Ostatnia aktualizacja: 31/08/2026

  • Lekka implementacja w języku Rust, w pełni kompatybilna z oficjalnymi klientami Bitwarden.
  • Uproszczone wdrażanie przy użyciu kontenerów Docker zapewniających pełną kontrolę prywatności.
  • Idealne minimalne wymagania sprzętowe dla średnich serwerów lub Raspberry Pi.
Jak zainstalować Vaultwarden za pomocą Docker Compose

Vaultwarden umożliwia hostowanie menedżera haseł kompatybilnego z klientami Bitwarden na własnym serwerze. W ten sposób możesz decydować o miejscu przechowywania informacji, kto może uzyskać dostęp do usługi i sposobie tworzenia kopii zapasowych.

Ważne jest, aby od początku wyjaśnić, że Vaultwarden nie jest oficjalnym serwerem BitwardenTo niezależna, oparta na społeczności implementacja napisana w języku Rust, która replikuje znaczną część API Bitwarden. Dzięki temu można jej używać z oficjalnymi aplikacjami mobilnymi, programami desktopowymi i rozszerzeniami Bitwarden.

Samodzielne hostowanie usługi zapewnia większą kontrolę, ale Nie gwarantuje to automatycznie większego bezpieczeństwaOd tego momentu odpowiadasz za instalowanie aktualizacji, zabezpieczanie dostępu, przeglądanie dzienników, utrzymywanie protokołu HTTPS i zapewnienie możliwości przywracania kopii zapasowych.

Powiązany artykuł:
Najlepsi menedżerowie haseł

Czego potrzebujesz, aby zainstalować Vaultwarden z Dockerem

Czego potrzebujesz, aby zainstalować Vaultwarden z Dockerem

Zanim zaczniesz, będziesz potrzebować systemu kompatybilnego z Dockerem, który pozostanie włączony, gdy będziesz chciał synchronizować hasła. Może to być serwer Linux, serwer NAS, minikomputer PC lub Raspberry Pi z architekturą obsługiwaną przez obraz.

Będziesz także potrzebować:

  • Silnik Dockera Zainstalowano i działa.
  • Obecny dodatek Docker Compose.
  • Folder, w którym dane mogą być trwale przechowywane.
  • Dostęp do terminala z uprawnieniami do zarządzania Dockerem.
  • Bezpieczna metoda dostępu, jeśli będziesz korzystać z usługi na innych urządzeniach.

Nie ma uniwersalnych wymagań dotyczących pamięci ani przestrzeni dyskowej dla wszystkich instalacji. Zużycie zależy od liczby użytkowników, załączników, rozmiaru pamięci masowej i innych usług uruchomionych na tym samym komputerze. Do użytku domowego jest to zazwyczaj lekka aplikacja, ale należy zarezerwować wystarczająco dużo miejsca. dane i ich kopie zapasowe.

Sprawdź instalację za pomocą:

docker --version
docker compose version

Jeśli oba polecenia pokazują wersję, możesz kontynuować.

Jak zainstalować Vaultwarden za pomocą Docker Compose

Jak zainstalować Vaultwarden za pomocą Dockera

Utwórz dedykowany folder i wejdź do niego:

mkdir vaultwarden
cd vaultwarden

W folderze utwórz plik o nazwie compose.yml z tą początkową konfiguracją:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data:/data
    ports:
      - "127.0.0.1:8080:80"

Zgromadzenie ./vw-data:/data To jest niezbędne. Folder /data Zawiera bazę danych, załączniki, konfigurację i klucze używane przez serwer. Jeśli usuniesz kontener bez zachowania tego folderu, utracisz zapisane w nim informacje.

Adres 127.0.0.1 Ta początkowa instalacja odpowiada tylko na samym serwerze. Jest to odpowiednia konfiguracja do testowania Vaultwarden bez udostępniania portu w sieci.

Uruchom kontener:

docker compose up -d

Sprawdź jego status:

docker compose ps
docker compose logs --tail=100 vaultwarden

Z tego samego urządzenia możesz otworzyć:

http://localhost:8080

Dostęp przez localhost Służy to do dokończenia konfiguracji początkowej. Aby połączyć się z innego komputera, aplikacji mobilnej lub rozszerzenia, należy skonfigurować bezpieczny adres za pomocą protokołu HTTPS.

Jak założyć pierwsze konto i zamknąć rejestrację

Otwórz interfejs sieciowy, utwórz pierwsze konto i sprawdź, czy możesz się zalogować. Użyj długie, unikalne i łatwe do zapamiętania hasło główne, ponieważ zabezpiecza dostęp do całego magazynu.

Po utworzeniu niezbędnych kont edytuj compose.yml i zmiany:

SIGNUPS_ALLOWED: "true"

przez:

SIGNUPS_ALLOWED: "false"

Zastosuj zmianę poprzez ponowne utworzenie kontenera:

docker compose up -d

Vaultwarden domyślnie pozwala anonimowym użytkownikom na tworzenie kont. Niepotrzebne pozostawianie otwartej rejestracji ułatwia osobom trzecim zajmowanie miejsca lub korzystanie z serwera bez pozwolenia.

Ekskluzywna zawartość — kliknij tutaj  Gdzie przechowywany jest klucz odzyskiwania BitLocker i jak go znaleźć

Jeśli później włączysz panel administracyjny, będziesz mógł wysyłać zaproszenia nawet przy wyłączonej rejestracji publicznej.

Dlaczego Vaultwarden potrzebuje protokołu HTTPS

Sklep internetowy korzysta z interfejsu API Web Crypto przeglądarki. Te funkcje kryptograficzne są zazwyczaj dostępne tylko w bezpieczne konteksty, takie jak HTTPS lub localhost.

Z tego powodu otwarcie http://192.168.1.50:8080 Na innym komputerze mogą być wyświetlane błędy, nawet jeśli kontener jest uruchomiony. Opublikowanie portu w sieci nie zastępuje konfiguracji HTTPS.

Istnieją trzy najpopularniejsze sposoby korzystania z Vaultwarden:

  • Tylko serwer: dostęp przez localhost, przydatne do testowania.
  • W sieci prywatnej lub VPN: ograniczony dostęp, ale zachowujący ważny certyfikat HTTPS.
  • Z Internetu: domena, odwrotny serwer proxy, ważny certyfikat i poprawnie skonfigurowana zapora sieciowa.

Nie musisz otwierać Vaultwarden publicznie, aby korzystać z niego poza domem. Sieć VPN może ograniczyć dostęp do autoryzowanych urządzeń, ale adres używany przez klientów nadal musi mieć rozpoznawalny przez nich certyfikat.

Jak skonfigurować protokół HTTPS za pomocą Caddy

Jak skonfigurować protokół HTTPS za pomocą Caddy

Caddy to jedna z najprostszych opcji, ponieważ może automatycznie żądać i odnawiać certyfikaty za pośrednictwem ACME. Aby skorzystać z certyfikatu publicznego, domena musi być kojarzona z Twoim serwerem, a niezbędne porty muszą być dostępne.

Wspólna konfiguracja Vaultwarden i Caddy może korzystać z tego pliku. compose.yml:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "false"
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2
    container_name: vaultwarden-caddy
    restart: unless-stopped
    depends_on:
      - vaultwarden
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config

Zastępuje vault.example.com dla Twojej domeny. Następnie utwórz plik o nazwie Caddyfile:

vault.example.com {
    reverse_proxy vaultwarden:80 {
        header_up X-Real-IP {remote_host}
    }
}

Aktywuj usługi:

docker compose up -d

Caddy będzie wysyłać żądania do kontenera przez sieć wewnętrzną utworzoną przez Compose. Obecna konfiguracja obsługuje również powiadomienia WebSocket przez to samo miejsce docelowe, więc nie ma potrzeby publikowania kolejnego portu Vaultwarden.

Zmienna DOMAIN musi zawierać dokładny zewnętrzny adres URL, w tym https://Nieprawidłowy adres może powodować problemy z załącznikami, łączami, uwierzytelnianiem lub klientami.

Jak połączyć oficjalne aplikacje Bitwarden

Na ekranie logowania rozszerzenia, aplikacji mobilnej lub programie na komputerze otwórz selektor serwerów i wybierz opcję Samodzielnie hostowany.

Wpisz pełny adres:

https://vault.example.com

Zapisz ustawienia przed zalogowaniem. Aby zmiany zostały poprawnie zsynchronizowane, każdy klient musi być połączony z tym samym serwerem.

Jeśli korzystasz z certyfikatu wydanego przez prywatny urząd certyfikacji, musisz poprawnie zainstalować ten urząd i zaufać mu na wszystkich urządzeniach. Aby uniknąć problemów ze zgodnością, lepiej jest użyć ważnego certyfikatu publicznego lub rozwiązania prywatnego, którego łańcuch zaufania możesz właściwie kontrolować.

Po połączeniu klienta możesz Importuj hasła Chrome do Vaultwarden i sprawdź, czy wyświetlają się na wszystkich Twoich urządzeniach.

Jak zabezpieczyć panel administracyjny

Vaultwarden oferuje opcjonalny panel w /adminStąd możesz przeglądać użytkowników, organizacje, diagnostykę i niektóre opcje serwera.

Jeśli nie potrzebujesz panelu, najbezpieczniej będzie zostaw to wyłączoneAby włączyć tę opcję, należy ją skonfigurować ADMIN_TOKENZamiast przechowywać hasło w postaci zwykłego tekstu, generuje skrót Argon2id:

docker run --rm -it vaultwarden/server /vaultwarden hash

Polecenie poprosi o podanie hasła dwa razy i zwróci ciąg rozpoczynający się od $argon2id$.

Wygodnym sposobem na uniknięcie problemów ze znakami dolara jest zapisanie ich w pliku .env znajduje się obok compose.yml:

VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=...'

Następnie dodaj do usługi:

environment:
  ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"

Jeśli wpiszemy skrót bezpośrednio w środku compose.yml, musisz podwoić każdy znak dolara jako $$ aby uniemożliwić Docker Compose interpretowanie go jako zmiennej.

Ekskluzywna zawartość — kliknij tutaj  Jakie są zagrożenia cyberbezpieczeństwa?

Sprawdź przetworzoną konfigurację za pomocą:

docker compose config

Dostęp do panelu powinien być możliwy wyłącznie przez HTTPS. W miarę możliwości należy ograniczyć jego ścieżkę do sieci lokalnej, sieci VPN lub określonych adresów IP.

Należy pamiętać, że po zapisaniu opcji z /adminVaultwarden tworzy config.jsonJego wartości mają pierwszeństwo przed równoważnymi zmiennymi środowiskowymi. To pierwszeństwo wyjaśnia wiele przypadków, w których edycja polecenia Compose wydaje się nie powodować żadnych zmian.

Niezbędne środki ochrony Vaultwardenów

Bezpieczeństwo nie kończy się na włączeniu protokołu HTTPS. Przynajmniej zastosuj następujące środki:

  • Wyłącz otwarty rejestr za pomocą SIGNUPS_ALLOWED=false.
  • Użyj unikalnego i silnego hasła głównego.
  • Aktywny uwierzytelnianie dwuetapowe dla wszystkich kont.
  • Zapisz kod odzyskiwania uwierzytelnienia w innym bezpiecznym miejscu.
  • Regularnie aktualizuj obraz i system hosta.
  • Nie montuj niepotrzebnych folderów ani gniazda Docker wewnątrz kontenera.
  • Ogranicz za pomocą zapory porty, które są naprawdę niezbędne.
  • Nie udostępniaj publicznie bazy danych ani folderu vw-data.

Fail2ban może blokować adresy, które gromadzą nieudane próby logowania, ale należy go starannie skonfigurować w przypadku obecności odwrotnego serwera proxy. Caddy lub Nginx muszą przesyłać prawdziwy adres IP; w przeciwnym razie Fail2ban może zablokować adres samego serwera proxy.

Możesz również wyłączyć wyświetlanie podpowiedzi dotyczących hasła. Podpowiedzi te mogą ułatwiać ataki polegające na odgadywaniu hasła, gdy serwer jest publicznie dostępny.

Aby dowiedzieć się więcej o tych praktykach, możesz zapoznać się z informacjami korzystaj z menedżerów haseł bezpiecznie.

Jak skonfigurować powiadomienia e-mail

Konfiguracja SMTP umożliwia wysyłanie zaproszeń, weryfikacji i powiadomień. Należy określić serwer, nadawcę, port, metodę zabezpieczeń i dane uwierzytelniające dostarczone przez usługę poczty e-mail.

Nie myl wiadomości e-mail SMTP z kopią zapasową sejfu. Nie powinieneś też polegać na nich jako jedynym sposobie odzyskiwania konta. Jeśli zapomnisz hasła głównego i nie masz skonfigurowanej innej metody odzyskiwania, możesz utracić dostęp do zaszyfrowanych danych.

Po zapisaniu ustawień wyślij wiadomość testową i sprawdź logi, jeśli nie dotrze. Sprawdź również foldery ze spamem i ograniczenia dostawcy SMTP.

Jak wykonać pełną kopię zapasową Vaultwarden

Baza danych SQLite przechowuje użytkowników, elementy, urządzenia i organizacje, ale Nie zawiera wszystkich plikówZałączniki i niektóre przesyłki są przechowywane w oddzielnych katalogach.

Pełna kopia powinna zawierać:

  • db.sqlite3 lub spójną kopię bazy danych.
  • Folder attachments.
  • Folder sends, jeśli chcesz zachować te pliki.
  • Plik config.json, jeśli używasz panelu.
  • Pliki rsa_key*.
  • Pliki Compose, Caddy i ich zmienne.

Aby uzyskać prostą i spójną kopię zapasową, możesz tymczasowo zatrzymać Vaultwarden i zarchiwizować folder:

docker compose stop vaultwarden
tar -czf vaultwarden-backup-$(date +%F).tar.gz vw-data compose.yml Caddyfile .env
docker compose start vaultwarden

Plik może zawierać token administracyjny i dane uwierzytelniające SMTP. Zaszyfruj przed skopiowaniem do innego komputera lub zdalnego magazynu.

Jeśli nie chcesz zatrzymywać usługi, Vaultwarden zawiera polecenie wykorzystujące mechanizm kopiowania SQLite:

docker exec vaultwarden /vaultwarden backup

To polecenie chroni bazę danych, ale nadal należy tworzyć kopie zapasowe załączników, plików konfiguracyjnych i kluczy. Zautomatyzuj tworzenie kopii zapasowych, przechowuj co najmniej jedną kopię poza serwerem i okresowo testuj przywracanie.

Ekskluzywna zawartość — kliknij tutaj  Discord blokuje Twoje konto z powodu podejrzanej aktywności: prawdziwe powody i jak się chronić

Jak zaktualizować Vaultwarden za pomocą Dockera

Przed aktualizacją utwórz zweryfikowaną kopię. Następnie uruchom:

docker compose pull
docker compose up -d

Sprawdź status i najnowsze wiadomości:

docker compose ps
docker compose logs --tail=100 vaultwarden

Docker pobierze obraz i utworzy ponownie kontener, zachowując vw-dataNie należy używać poleceń globalnego czyszczenia bez wcześniejszego sprawdzenia, które kontenery, obrazy i sieci zostaną usunięte.

W instalacjach, w których stabilność ma kluczowe znaczenie, można naprawić konkretną wersję obrazu zamiast zawsze używać wersji domyślnej. latestW ten sposób możesz przejrzeć informacje o wydaniach i zdecydować, kiedy zastosować daną aktualizację.

Typowe błędy podczas instalacji Vaultwarden za pomocą Dockera

Typowe błędy podczas instalacji Vaultwarden za pomocą Dockera

Interfejs działa na komputerze lokalnym, ale nie na innym komputerze.

Port jest ograniczony do 127.0.0.1 Albo przeglądarka odrzuca funkcje kryptograficzne podczas dostępu przez HTTP. Skonfiguruj adres HTTPS przed skorzystaniem z usługi z innych urządzeń.

Oficjalny klient nie może połączyć się z serwerem

Wybierz środowisko Samodzielnie hostowany i wprowadź dokładny adres https://Sprawdź certyfikat, DNS, serwer proxy i zmienną DOMAIN.

Kontener uruchamia się, ale dane znikają po jego ponownym utworzeniu.

Regulator głośności nie jest zainstalowany prawidłowo. Sprawdź, czy ./vw-data:/data pojawia się w ustawieniach i że uruchamiasz Compose z oczekiwanego folderu.

Nie mogę utworzyć innego konta

Si SIGNUPS_ALLOWED jest w falseDziałanie jest prawidłowe. Wyślij zaproszenie z panelu lub tymczasowo włącz rejestrację tylko na czas tworzenia konta.

Skrót ADMIN_TOKEN nie działa

Sprawdź interpolację znaków $Użyj pliku .env za pomocą pojedynczych cudzysłowów lub podwójnych symboli, jeśli wstawiasz ciąg bezpośrednio do Compose.

Zmienne środowiskowe wydają się być ignorowane

Sprawdź czy istnieje vw-data/config.jsonOpcje zapisane z panelu mogą zastąpić zmienne zdefiniowane w compose.yml.

Certyfikaty działają w przeglądarce, ale nie na urządzeniu mobilnym.

Urządzenie może nie ufać całemu łańcuchowi certyfikatów. Użyj uznanego urzędu certyfikacji lub poprawnie zainstaluj swój urząd prywatny i jego certyfikaty.

Załączniki nie działają

Sprawdź to DOMAIN Dopasuj adres zewnętrzny i upewnij się, że serwer proxy zezwala na wymagany rozmiar żądania. Sprawdź również dostępną przestrzeń i uprawnienia. vw-data.

Vaultwarden nie może zapisywać wewnątrz vw-data

Folder hosta ma niezgodne uprawnienia. Sprawdź właściciela i uprawnienia na podstawie błędu wyświetlanego w logach. Nie używaj. chmod 777 jako rozwiązanie trwałe.

Fail2ban blokuje niepoprawny adres

Serwer proxy nie przesyła prawdziwego adresu IP lub Fail2ban odczytuje niewłaściwe pole. Skonfiguruj go poprawnie. X-Real-IP lub nagłówek odpowiadający Twojemu serwerowi proxy.

Przywrócona kopia nie zawiera załączników

Kopia zapasowa dotyczyła tylko bazy SQLite. Proszę również przywrócić foldery. attachments y sends, oprócz konfiguracji i kluczy RSA.

Vaultwarden umożliwia korzystanie z organizacji i kolekcji udostępniaj hasła rodzinne Używając zgodnych klientów. Przed dodaniem kolejnych użytkowników sprawdź, czy protokół HTTPS, uwierzytelnianie dwuetapowe i kopie zapasowe działają poprawnie.

Rezultatem może być szybki, prywatny i elastyczny menedżer haseł, ale jego bezpieczeństwo zależy od konserwacji. Kontrola nad serwerem przynosi korzyści tylko wtedy, gdy towarzyszą jej aktualizacje, ograniczony dostęp i sprawdzona strategia odzyskiwania.

Jak bezpiecznie udostępniać hasła rodzinie bez wysyłania plików
Powiązany artykuł:
Jak bezpiecznie udostępniać hasła rodzinie bez wysyłania plików