Vaultwarden — неофициальная, но полностью совместимая с API Bitwarden реализация сервера на Rust. Она использует те же приложения и расширения, что и Bitwarden, но потребляет десятки мегабайт памяти вместо гигабайтов и запускается на любом мини-ПК или в LXC-контейнере.
Почему стоит держать пароли у себя
- Данные под контролем. Хранилище зашифровано на стороне клиента; сервер видит только шифротекст.
- Официальные клиенты. Расширения для браузеров, приложения для Android и iOS, десктоп и CLI.
- Возможности платных тарифов. Организации, общие коллекции, TOTP-коды, вложения и Send — без подписки.
- Минимум ресурсов. Один небольшой контейнер и файл базы SQLite.
Быстрый старт в Docker
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
ports:
- "127.0.0.1:8222:80"
Порт привязан к 127.0.0.1 намеренно: наружу сервис должен выходить только через обратный прокси с HTTPS.
HTTPS — не опция
Веб-хранилище Bitwarden использует Web Crypto API, а браузеры разрешают его только в защищённом контексте. Без HTTPS вход не заработает (исключение — localhost). Поставьте перед Vaultwarden Caddy, Nginx Proxy Manager или Traefik с сертификатом Let's Encrypt; можно ходить и через VPN-mesh вроде Tailscale.
Первичная безопасность
- Зарегистрируйте свой аккаунт, затем закройте регистрацию:
SIGNUPS_ALLOWED=false. Новых пользователей добавляйте приглашениями. - Если включаете админ-панель (
/admin), задавайтеADMIN_TOKENв виде хеша Argon2 (генерируется командойvaultwarden hash), а не открытым текстом. - Включите двухфакторную аутентификацию (TOTP или ключ FIDO2) для своего аккаунта.
- Придумайте длинную мастер-парольную фразу и сохраните её оффлайн: восстановить её невозможно.
Бэкап обязателен. Всё состояние лежит в каталоге
/data: базаdb.sqlite3, вложения и ключи. Копируйте его регулярно и проверяйте, что копию можно развернуть. Делайте это через встроенную команду резервирования SQLite или остановив контейнер — простое копирование работающей базы может дать битый файл.
Ссылки
- Репозиторий: github.com/dani-garcia/vaultwarden
- Клиенты Bitwarden: bitwarden.com/download