Как да инсталирате Vaultwarden с Docker: Пълно ръководство за самостоятелно хостване на вашите пароли

Последна актуализация: 31/08/2026

  • Vaultwarden е неофициален сървър, съвместим с клиенти на Bitwarden.
  • Папката /data трябва да се запази с помощта на постоянен том.
  • Достъпът от други устройства изисква правилно конфигуриран HTTPS адрес.
  • Деактивирайте отворените записи след създаване на необходимите акаунти.
Как да инсталирате Vaultwarden с Docker Compose

Vaultwarden ви позволява да хоствате мениджър на пароли, съвместим с клиенти на Bitwarden, на вашия собствен сървър. По този начин можете да решите къде да се съхранява информацията, кой има достъп до услугата и как да се извършват резервни копия.

Важно е да се изясни още от самото начало, че Vaultwarden не е официалният сървър на Bitwarden.Това е независима, общностно ориентирана имплементация, написана на Rust, която репликира голяма част от API-то на Bitwarden. Поради това може да се използва с официалните мобилни приложения, настолни програми и разширения на Bitwarden.

Самостоятелното хостване на услугата осигурява повече контрол, но Това не гарантира автоматично по-голяма сигурностОт този момент нататък вие носите отговорност за инсталирането на актуализации, осигуряването на достъп, прегледа на регистрационни файлове, поддържането на HTTPS и осигуряването на възможност за възстановяване на резервни копия.

Свързана статия:
Най-добрите мениджъри на пароли

Какво ви е необходимо, за да инсталирате Vaultwarden с Docker

Какво ви е необходимо, за да инсталирате Vaultwarden с Docker

Преди да започнете, ще ви е необходима Docker-съвместима система, която остава включена, когато искате да синхронизирате пароли. Това може да бъде Linux сървър, NAS, мини компютър или Raspberry Pi с архитектура, поддържана от образа.

Ще ви трябват също:

  • Докер енджин инсталиран и работещ.
  • Текущото допълнение на Docker Compose.
  • Папка, където данните могат да се съхраняват постоянно.
  • Достъп до терминал с разрешения за управление на Docker.
  • Сигурен метод за достъп, ако ще използвате услугата от други устройства.

Няма универсално изискване за памет или място за съхранение за всички инсталации. Консумацията зависи от броя на потребителите, прикачените файлове, размера на паметта и другите услуги, работещи на един и същ компютър. За домашна употреба това обикновено е леко приложение, но трябва да запазите достатъчно място за... данните и техните резервни копия.

Проверете инсталацията, като използвате:

docker --version
docker compose version

Ако и двете команди показват версия, можете да продължите.

Как да инсталирате Vaultwarden с Docker Compose

Как да инсталирате Vaultwarden с Docker

Създайте специална папка и въведете в нея:

mkdir vaultwarden
cd vaultwarden

Вътре в папката създайте файл с име compose.yml с тази първоначална конфигурация:

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"

Събранието ./vw-data:/data Това е от съществено значение. Папката /data Той съдържа базата данни, прикачените файлове, конфигурацията и ключовете, използвани от сървъра. Ако изтриете контейнера, без да запазите тази папка, ще загубите съхранената информация.

Адресът 127.0.0.1 Тази първоначална инсталация отговаря само на самия сървър. Това е подходяща конфигурация за тестване на Vaultwarden, без все още да се излага портът на мрежата.

Стартирайте контейнера:

docker compose up -d

Проверете състоянието му:

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

От същото устройство можете да отворите:

http://localhost:8080

Достъп чрез localhost Това се използва за завършване на първоначалната настройка. За да се свържете от друг компютър, мобилно приложение или разширение, ще трябва да настроите защитен адрес, използвайки HTTPS.

Как да създадете първия си акаунт и да приключите регистрацията

Отворете уеб интерфейса, създайте първия си акаунт и проверете дали можете да влезете. Използвайте дълга, уникална и лесна за запомняне главна парола, тъй като защитава достъпа до целия склад.

След като създадете необходимите акаунти, редактирайте compose.yml и промени:

SIGNUPS_ALLOWED: "true"

от:

SIGNUPS_ALLOWED: "false"

Приложете промяната, като пресъздадете контейнера:

docker compose up -d

Vaultwarden позволява на анонимните потребители да създават акаунти по подразбиране. Ненужното поддържане на отворена регистрация улеснява трети страни да заемат място или да използват вашия сървър без разрешение.

Изключително съдържание - Щракнете тук  Информационна сигурност

Ако по-късно активирате административния панел, ще можете да изпращате покани дори с деактивирана публична регистрация.

Защо Vaultwarden се нуждае от HTTPS

Уеб магазинът използва Web Crypto API на браузъра. Тези криптографски функции обикновено са достъпни само в защитени контексти, като HTTPS или localhost.

Поради тази причина, отварянето http://192.168.1.50:8080 От друг компютър могат да се показват грешки, дори ако контейнерът работи. Публикуването на порта в мрежата не замества HTTPS конфигурацията.

Има три често срещани начина за използване на Vaultwarden:

  • Само за сървъра: достъп чрез localhost, полезно за тестване.
  • В частна мрежа или VPN: ограничен достъп, но поддържане на валиден HTTPS сертификат.
  • От интернет: домейн, обратен прокси, валиден сертификат и правилно конфигурирана защитна стена.

Не е нужно да отваряте Vaultwarden публично, за да го използвате извън дома си. VPN може да ограничи достъпа до вашите оторизирани устройства, но адресът, използван от клиентите, все пак трябва да има сертификат, който те разпознават.

Как да конфигурирате HTTPS с Caddy

Как да конфигурирате HTTPS с Caddy

Caddy е една от най-простите опции, защото може автоматично да изисква и подновява сертификати чрез ACME. За да използвате публичен сертификат, домейнът трябва да е свързан към вашия сървър и необходимите портове трябва да са достъпни.

Съвместна конфигурация на Vaultwarden и Caddy може да използва този файл. 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

Заменя vault.example.com за вашия действителен домейн. След това създайте файл с име Caddyfile:

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

Активиране на услуги:

docker compose up -d

Caddy ще изпраща заявки към контейнера през вътрешната мрежа, създадена от Compose. Текущата конфигурация може също да обработва WebSocket известия през същата дестинация, така че няма нужда да се публикува друг Vaultwarden порт.

Променливата DOMAIN трябва да съдържа точния външен URL адрес, включително https://Неправилен адрес може да причини проблеми с прикачени файлове, връзки, удостоверяване или клиенти.

Как да свържете официалните приложения на Bitwarden

На екрана за вход на разширението, мобилното приложение или настолната програма отворете селектора на сървъри и изберете опцията Самостоятелно хоствано.

Въведете пълния адрес:

https://vault.example.com

Запазете настройките, преди да влезете. Всеки клиент трябва да е свързан към един и същ сървър, за да се синхронизират правилно промените.

Ако използвате сертификат, издаден от частен орган, ще трябва правилно да инсталирате и да се доверите на този орган на всички устройства. За да избегнете проблеми със съвместимостта, е за предпочитане да използвате валиден публичен сертификат или частно решение, чиято верига на доверие можете правилно да контролирате.

След като клиентът е свързан, можете Импортиране на пароли за Chrome във Vaultwarden и проверете дали се показват на всички ваши устройства.

Как да защитим административния панел

Vaultwarden предлага опционален панел в /adminОттам можете да прегледате потребители, организации, диагностика и определени опции на сървъра.

Ако не ви е нужен панелът, най-безопасното нещо, което можете да направите, е оставете го деактивираноЗа да го активирате, трябва да конфигурирате ADMIN_TOKENВместо да съхранява парола в обикновен текст, той генерира хеш на Argon2id:

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

Командата ще поиска паролата два пъти и ще върне низ, който започва с $argon2id$.

Удобен начин да избегнете проблеми със знаците за долар е да го запишете във файл .env разположен до compose.yml:

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

След това добавете към услугата:

environment:
  ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"

Ако напишете хеша директно вътре compose.yml, трябва да удвоите всеки знак за долар като $$ за да се предотврати Docker Compose да се опита да го интерпретира като променлива.

Изключително съдържание - Щракнете тук  Как да разберете паролите за Facebook

Проверете обработената конфигурация, като използвате:

docker compose config

Достъпът до панела трябва да се осъществява само чрез HTTPS. Ако е възможно, ограничете пътя му до локалната мрежа, VPN или конкретни IP адреси.

Моля, обърнете внимание, че след запазване на опции от /adminПазителят на трезора създава config.jsonСтойностите му имат предимство пред еквивалентните променливи на средата. Това предимство обяснява много случаи, в които редактирането на Compose изглежда не води до промяна.

Основни мерки за защита на Пазителя на трезора

Сигурността не се ограничава само с активирането на HTTPS. Като минимум, приложете следните мерки:

  • Деактивирайте отворения регистър с помощта на SIGNUPS_ALLOWED=false.
  • Използвайте уникална и силна главна парола.
  • Активен двуетапно удостоверяване за всички акаунти.
  • Запазете кода за възстановяване на удостоверяването на друго сигурно място.
  • Редовно актуализирайте образа и хост системата.
  • Не монтирайте ненужни папки или Docker сокета вътре в контейнера.
  • Ограничете портовете, които са наистина необходими, като използвате защитната стена.
  • Не разкривайте публично базата данни или папката vw-data.

Fail2ban може да блокира адреси, които натрупват неуспешни опити за влизане, но трябва да бъде конфигуриран внимателно, когато е наличен обратен прокси. Caddy или Nginx трябва да предават истинския IP адрес; в противен случай Fail2ban може да блокира собствения адрес на проксито.

Можете също така да деактивирате показването на подсказки за пароли. Тези подсказки могат да улеснят атаките с отгатване, когато сървърът е публично достъпен.

За да научите повече за тези практики, можете да се консултирате с нас. използвайте мениджърите на пароли сигурно.

Как да настроите имейл известия

SMTP конфигурацията ви позволява да изпращате покани, потвърждения и известия. Ще трябва да посочите сървъра, подателя, порта, метода за сигурност и идентификационните данни, предоставени от вашата имейл услуга.

Не бъркайте SMTP имейлите с резервно копие на трезора. Нито пък бива да разчитате на тях като единствено средство за възстановяване на акаунта. Ако забравите главната си парола и нямате настроен друг метод за възстановяване, може да загубите достъп до криптираните си данни.

След като запазите настройките, изпратете тестово съобщение и проверете лог файловете, ако не пристигне. Проверете също папките си за спам и ограниченията на SMTP доставчика.

Как да направите пълно резервно копие на Vaultwarden

Базата данни SQLite съхранява потребители, елементи, устройства и организации, но Не съдържа всички файловеПрикачените файлове и някои подадени документи се съхраняват в отделни директории.

Пълното копие трябва да включва:

  • db.sqlite3 или последователно копие на базата данни.
  • Папката attachments.
  • Папката sends, ако искате да запазите тези файлове.
  • Файлът config.json, ако използвате панела.
  • Файловете rsa_key*.
  • Файловете Compose, Caddy и техните променливи.

За лесно и последователно архивиране можете временно да спрете Vaultwarden и да архивирате папката:

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

Файлът може да съдържа администраторския токен и SMTP идентификационните данни. Криптирай го преди да го копираш към друг компютър или отдалечено хранилище.

Ако не искате да спрете услугата, Vaultwarden включва команда, която използва механизма за копиране на SQLite:

docker exec vaultwarden /vaultwarden backup

Тази команда защитава базата данни, но все пак трябва да архивирате прикачени файлове, конфигурационни файлове и ключове. Автоматизирайте архивирането, дръжте поне едно резервно копие извън сървъра и периодично тествайте възстановяване.

Изключително съдържание - Щракнете тук  Windows иска рестартиране, но никога не завършва актуализирането: причини и решения

Как да актуализирате Vaultwarden с Docker

Създайте проверено копие преди актуализиране. След това изпълнете:

docker compose pull
docker compose up -d

Проверете състоянието и последните съобщения:

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

Docker ще изтегли изображението и ще пресъздаде контейнера, запазвайки vw-dataНе използвайте команди за глобално почистване, без първо да проверите кои контейнери, изображения и мрежи ще премахнат.

В инсталации, където стабилността е критична, можете да коригирате конкретна версия на образа, вместо винаги да използвате тази по подразбиране. latestПо този начин можете да прегледате бележките за изданието и да решите кога да приложите всяка актуализация.

Често срещани грешки при инсталиране на Vaultwarden с Docker

Често срещани грешки при инсталиране на Vaultwarden с Docker

Интерфейсът работи на localhost, но не и от друг компютър.

Пристанището е ограничено до 127.0.0.1 Или браузърът отхвърля криптографските функции при достъп чрез HTTP. Конфигурирайте HTTPS адрес, преди да използвате услугата от други устройства.

Официалният клиент не може да се свърже със сървъра

Изберете средата Самостоятелно хоствано и въведете точния адрес с https://Проверете сертификата, DNS, прокси сървъра и променливата DOMAIN.

Контейнерът се стартира, но данните изчезват, когато се пресъздаде.

Регулаторът на силата на звука не е инсталиран правилно. Моля, проверете дали ./vw-data:/data се появява в настройките и че изпълнявате Compose от очакваната папка.

Не мога да създам друг акаунт

Si SIGNUPS_ALLOWED е в falseПоведението е правилно. Изпратете покана от панела или временно активирайте само регистрацията, докато създавате акаунта.

Хешът на ADMIN_TOKEN не работи

Проверете интерполацията на знаците $Използвайте файл .env с единични кавички или двойни символи, ако вмъквате низа директно в Compose.

Променливите на околната среда изглежда се игнорират

Проверете дали съществува vw-data/config.jsonОпциите, запазени от панела, могат да отменят променливите, дефинирани в compose.yml.

Сертификатите работят в браузъра, но не и на мобилното устройство.

Устройството може да не се доверява на цялата верига от сертификати. Използвайте признат сертификатен орган или инсталирайте правилно вашия частен сертификатен орган и неговите сертификати.

Прикачените файлове не успяват

Проверете това DOMAIN съпоставете външния адрес и се уверете, че проксито позволява необходимия размер на заявката. Проверете също наличното пространство и разрешенията за vw-data.

Пазителят на трезора не може да пише във vw-data

Папката хост има несъвместими разрешения. Проверете собственика и разрешенията въз основа на показаната в лог файловете грешка. Не използвайте. chmod 777 като постоянно решение.

Fail2ban блокира неправилен адрес

Проксито не предава истинския IP адрес или Fail2ban чете грешно поле. Конфигурирайте го правилно. X-Real-IP или заглавката, съответстваща на вашия прокси сървър.

Възстановеното копие не съдържа прикачените файлове

Само SQLite беше архивиран. Моля, възстановете и папките. attachments y sends, в допълнение към конфигурацията и ключовете на RSA.

Vaultwarden ви позволява да използвате организации и колекции, за да споделяне на семейни пароли използване на съвместими клиенти. Преди да добавите още потребители, проверете дали HTTPS, двуетапното удостоверяване и резервните копия работят правилно.

Резултатът може да бъде бърз, личен и адаптивен мениджър на пароли, но сигурността му зависи от поддръжката. Контролът върху сървъра е предимство само когато е придружен от актуализации, ограничен достъп и доказана стратегия за възстановяване.

Как сигурно да споделяте пароли със семейството си, без да изпращате файлове
Свързана статия:
Как сигурно да споделяте пароли със семейството си, без да изпращате файлове