MAATRIX / Блог / Vaultwarden против Bitwarden: что выгоднее и когда

Vaultwarden против Bitwarden: что выгоднее и когда

Vaultwarden против Bitwarden: что выгоднее и когда

MAATRIX

Vaultwarden или Bitwarden — это выбор сервера, а не клиента: приложения на телефоне, в браузере и на десктопе в обоих случаях официальные. Разница в том, что крутится на вашей машине: бинарник на Rust, который в простое ест двадцать мегабайт, или одиннадцать контейнеров с MS SQL Server, которому мало двух гигабайт. Ниже — замеры, деньги и то, чего у Vaultwarden нет.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Три варианта вместо двух

Bitwarden — компания и продукт: облако (bitwarden.com и европейский bitwarden.eu), официальные клиенты и self-hosted стек, который ставится скриптом bitwarden.sh. Vaultwarden — сторонняя реализация того же серверного API на Rust, до 2021 года известная как bitwarden_rs: один процесс, SQLite, AGPLv3.

Два факта снимают половину вопросов. Первый: клиенты в обоих случаях официальные — на экране входа переключаете регион на Self-hosted и вписываете адрес сервера. Второй: вся криптография живёт на клиенте: ключ выводится из мастер-пароля на устройстве (у новых аккаунтов — Argon2id, 64 МиБ, 3 прохода, параллелизм 4), сервер получает шифротекст и расшифровать не может — ни ваш, ни Bitwarden Inc. Вы выбираете не шифрование, а модель эксплуатации.

Вариантов три, и путают обычно второй с третьим:

  • Облако Bitwarden. Ничего не обслуживаете, платите подписку или живёте на бесплатном тарифе.
  • Официальный self-host. Ставите стек у себя, но всё равно получаете installation ID и key на bitwarden.com/host, а организации требуют лицензии: и платите, и обслуживаете.
  • Vaultwarden. Ставите сторонний сервер, Bitwarden не платите ничего, обслуживаете сами.

Из-за второго пункта большинство «self-hosted Bitwarden» на деле оказывается Vaultwarden — чужой реализацией, у которой совместимость с новыми клиентами иногда догоняется лишь следующим релизом.

Замеры: 20 мегабайт против двух с половиной гигабайт

Стенд одинаковый: Ubuntu 24.04, 2 vCPU / 4 ГБ / NVMe, три пользователя, хранилище на несколько сотен записей. Команда — docker stats --no-stream --format 'table {{.Name}}\t{{.MemUsage}}'.

NAME          MEM USAGE / LIMIT
vaultwarden   19.4MiB / 3.83GiB
caddy         14.1MiB / 3.83GiB

Официальный стек — одиннадцать строк: bitwarden-mssql — 1.05GiB, bitwarden-api — 212MiB, identity — 178MiB, остальные восемь — от 9 до 164 МиБ.

ПоказательVaultwardenBitwarden Unified (beta)Bitwarden, полный стек
Контейнеров1111
RAM в простое20–60 МиБ350–450 МиБ2,0–2,6 ГБ
Образы на диске~55 МБ (alpine)~450 МБ4–5 ГБ
СУБД по умолчаниюSQLiteSQLiteMS SQL Server
Холодный стартменьше секунды20–40 с2–4 минуты
Статусстабильныйbeta который годGA

Разница в два порядка — следствие архитектуры: Rust-бинарник против одиннадцати сервисов на .NET плюс СУБД от Microsoft. Уложить стек в 2 ГБ не выйдет, в docker logs bitwarden-mssql будет:

sqlservr: This program requires a machine with at least 2000 megabytes of memory.

Дальше цикл перезапусков и 502 в вебе. Процессор загружается в двух местах: вход пользователя и загрузка иконок. Синхронизация — один запрос /api/sync на несколько сотен килобайт JSON: пятеро пользователей не дают на 1 vCPU измеримой нагрузки.

Развернуть за пару минут

Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Vaultwarden

Деньги: где проходит точка окупаемости

Публичные цены Bitwarden на 2026 год (сверяйте на сайте, они меняются):

ТарифЦенаНа кого
Free01 + шеринг с одним
Premium~

Развернуть за пару минут

Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Vaultwarden

Деньги: где проходит точка окупаемости

Публичные цены Bitwarden на 2026 год (сверяйте на сайте, они меняются):

ТарифЦенаНа кого
Free01 + шеринг с одним
Premium~$10 в год1
Families~$40 в годдо 6
Teams~$4 за пользователя в месяцот 1
Enterprise~$6 за пользователя в месяцот 1

Команда из 10 человек на Teams — около $480 в год, из 30 на Enterprise — около $2160. Vaultwarden стоит ровно столько, сколько VPS, и от числа пользователей не зависит: пятеро и пятьдесят обходятся одинаково.

  • Один человек. Облако выигрывает: Free закрывает неограниченное число записей и устройств, Premium за $10 добавляет TOTP и вложения.
  • Семья до шести. Families за $40 в год дешевле любого VPS: по деньгам — только облако.
  • Команда от шести-семи человек. Начинается Teams, и разрыв становится кратным: подписка растёт линейно, сервер — нет. Это и есть точка окупаемости.

У российского читателя всё это перевешивает один пункт: подписку Bitwarden не оплатить картой российского банка. Нужна иностранная карта, посредник или подарочный код, и раз в год квест повторяется. Сервер у российского провайдера оплачивается картой, по СБП или криптой.

Противовес, о котором продавцы серверов молчат: self-host стоит времени — обновления раз в месяц, проверка бэкапов раз в квартал, разбор инцидента. Команде из десяти экономия в $480 это перекрывает, семье из четверых — нет.

Функции: что Vaultwarden отдаёт даром и чего у него нет

Vaultwarden не «взламывает» лицензию — у него просто нет биллинга, поэтому премиальные функции доступны всем. Дыры у него на корпоративной стороне.

ФункцияBitwardenVaultwarden
TOTP-коды, вложения, Send с файломPremium и вышевсем
Экстренный доступ, YubiKey OTP, DuoPremium и вышеесть
Организации, коллекции, группы, политикиплатные планыесть
SSO по SAML/OIDCEnterpriseэкспериментально, SSO_ENABLED
SCIM, Directory Connector, trusted deviceEnterpriseнет
Аудит, SOC 2, поддержка с SLAестьнет

Про вложения: в облаке Premium даёт 1 ГБ на аккаунт, у Vaultwarden лимит задаёте вы сами в килобайтах — USER_ATTACHMENT_LIMIT=102400 это 100 МБ на пользователя. По умолчанию лимита нет вообще, и пятеро сотрудников уложат на диск всё свободное место.

Пуш-уведомления. Без них телефон подтягивает изменения только при открытии приложения. Vaultwarden умеет ходить через официальный релей, но нужна регистрация установки на bitwarden.com/host:

PUSH_ENABLED=true
PUSH_INSTALLATION_ID=00000000-0000-0000-0000-000000000000
PUSH_INSTALLATION_KEY=xxxxxxxxxxxxxxxxxxxx
PUSH_RELAY_URI=https://push.bitwarden.com
PUSH_IDENTITY_URI=https://identity.bitwarden.com

Регион релея обязан совпадать с тем, где получен installation ID: ключ из bitwarden.eu с американским релеем не работает. Если телефон всё равно молчит — причины разобраны в статье о том, почему Vaultwarden не синхронизируется.

SSO в свежих ветках есть экспериментально, по OIDC. Но если у вас Entra ID с автозаведением сотрудников и отзывом доступа при увольнении — Vaultwarden не подходит: SCIM нет.

Цена самостоятельности: что переезжает на вас

Половина неудачных self-host-историй ломается не на установке, а тут.

  • HTTPS обязателен. Клиенты используют Web Crypto API, недоступный в незащищённом контексте: по http:// веб-хранилище не работает, а приложение откажется добавлять сервер. Переменная DOMAIN должна совпадать с публичным адресом вместе со схемой (DOMAIN=https://vault.example.com), иначе ломаются WebAuthn и ссылки Send.
  • Админ-панель. Без ADMIN_TOKEN страница /admin отдаёт 404 и панель выключена — самый безопасный режим. Нужна — храните хеш: docker exec -it vaultwarden /vaultwarden hash --preset owasp даёт $argon2id$v=19$m=19456,t=2,p=1$.... В блоке environment: каждый $ надо удвоить до $$, иначе Compose съест его как подстановку.
  • Защита от перебора. Включите LOG_FILE=/data/vaultwarden.log и EXTENDED_LOGGING=true — по строкам Username or password is incorrect. Try again. IP: 203.0.113.10. работает фильтр fail2ban. Плюс ufw allow 22/tcp и ufw allow 443/tcp, сам Vaultwarden слушает 127.0.0.1.
  • Обновления. Версию видно без входа в панель: curl -s https://vault.example.com/api/config | jq -r '.version'. Тег latest удобен, но в проде лучше пин vaultwarden/server:1.34.3-alpine: миграции базы необратимы. И по умолчанию Vaultwarden сам ходит за фавиконками сайтов из вашего хранилища — приватнее DISABLE_ICON_DOWNLOAD=true.
  • Бэкапы. Потеряли /data/db.sqlite3 — потеряли все пароли. Живой SQLite нельзя копировать через cp, нужен sqlite3 ... ".backup"; кроме базы забирают attachments, sends и rsa_key.pem. Подробности — в материале про бэкап и восстановление паролей.

Хорошая новость: падение сервера не отрезает вас от паролей — клиенты держат локальную зашифрованную копию и работают офлайн, отвалятся лишь синхронизация, веб-версия и вход на новом устройстве. Ловушка одна: «действие по таймауту: выход» — после выхода снова нужен сервер, ставьте «блокировку».

Миграция в любую сторону и вывод «кому что»

Вендор-лока нет: формат экспорта общий, переезд в любую сторону одинаков — Инструменты → Экспорт хранилища, формат .json. Берёте защищённый экспорт — выбирайте пароль файла, а не «привязанный к аккаунту»: второй расшифровывается только тем же аккаунтом на том же сервере. Через CLI воспроизводимее:

npm install -g @bitwarden/cli
bw config server https://vault.example.com
bw login && export BW_SESSION=$(bw unlock --raw)
bw export --format json --output personal.json
bw import bitwardenjson personal.json

Организация выгружается отдельно (bw export --organizationid <uuid>). Экспортом не переносятся: вложения (в JSON только метаданные — качайте через bw get attachment <имя> --itemid <uuid>), Send, история паролей и корзина. Двухфакторка живёт на сервере, поэтому 2FA на новом месте включается заново каждым пользователем. И нешифрованный JSON содержит все пароли открытым текстом — после импорта shred -u personal.json.

Вывод:

  • Облако Bitwarden — если вы один или вас пятеро и нет желания отвечать за бэкапы. $10–40 в год — честная цена за чужую ответственность.
  • Vaultwarden на своём сервере — если вас больше шести и Teams считается сотнями долларов, если оплатить подписку из России нечем, если нужны TOTP и вложения без тарифа.
  • Официальный self-host Bitwarden — если нужны SSO, SCIM, договор и аудит: платите лицензию и содержите стек на 8 ГБ. И не поднимайте ничего, если нет привычки обновлять сервер и проверять восстановление из копии.

Какой сервер взять в MAATRIX под Vaultwarden

Конфигурация тут скромная, и раздувать её незачем.

Минимум: 1 vCPU, 1 ГБ RAM, 20 ГБ NVMe. Сам сервер — 20–60 МиБ, прокси — ещё 15–20 МиБ, остальное занимает система; хватает семье и команде до 20–30 человек. Ограничения честные: на 1 ГБ не стоит селить рядом PostgreSQL, мониторинг и второй сайт, а 20 ГБ диска закончатся, если пользователи начнут складывать вложения. Свап на 1–2 ГБ включите в любом случае.

Комфортный вариант: 2 vCPU, 2–4 ГБ RAM, 40–60 ГБ NVMe. Помещаются Vaultwarden, PostgreSQL 17 вместо SQLite (нужен, если пользователей за сотню), Caddy, fail2ban, ежедневный бэкап в S3 и Uptime Kuma. Официальный Bitwarden просит 4 vCPU, 8 ГБ RAM, 80 ГБ NVMe: два гигабайта из документации — тот порог, на котором MS SQL падает с ошибкой из второй секции.

Ставить руками ничего не нужно: Vaultwarden есть в каталоге apps.maatrix.io и разворачивается автоматически при заказе сервера на Ubuntu или Debian, доступы появляются в личном кабинете в разделе «Доступ». Остаётся направить домен, дождаться сертификата, создать учётную запись и выставить SIGNUPS_ALLOWED=false. Пошагово — как установить и настроить Vaultwarden на VPS.

Локация — Лондон. Пинг тут почти не важен: 45–60 мс из Москвы вы не отличите от локальной сети. Важнее, что британская площадка без ухищрений ходит к Let's Encrypt, к релею пушей Bitwarden и к API Have I Been Pwned. Франция равноценна для ЕС, США — для американской команды. Россия нужна корпоративному хранилищу с данными сотрудников: там решает 152-ФЗ.

Оплата — картами российских банков, по СБП, криптой или токеном MAAT. Иностранная карта не нужна, даже когда сервер стоит в Лондоне: проблема, из-за которой многие и уходят с подписки Bitwarden, здесь не возникает.

Развернуть за пару минут

Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Vaultwarden
0 в год
1
Families~$40 в годдо 6
Teams~$4 за пользователя в месяцот 1
Enterprise~$6 за пользователя в месяцот 1

Команда из 10 человек на Teams — около $480 в год, из 30 на Enterprise — около

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

160. Vaultwarden стоит ровно столько, сколько VPS, и от числа пользователей не зависит: пятеро и пятьдесят обходятся одинаково.

  • Один человек. Облако выигрывает: Free закрывает неограниченное число записей и устройств, Premium за

    Развернуть за пару минут

    Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

    Развернуть Vaultwarden

    Деньги: где проходит точка окупаемости

    Публичные цены Bitwarden на 2026 год (сверяйте на сайте, они меняются):

    ТарифЦенаНа кого
    Free01 + шеринг с одним
    Premium~$10 в год1
    Families~$40 в годдо 6
    Teams~$4 за пользователя в месяцот 1
    Enterprise~$6 за пользователя в месяцот 1

    Команда из 10 человек на Teams — около $480 в год, из 30 на Enterprise — около $2160. Vaultwarden стоит ровно столько, сколько VPS, и от числа пользователей не зависит: пятеро и пятьдесят обходятся одинаково.

    • Один человек. Облако выигрывает: Free закрывает неограниченное число записей и устройств, Premium за $10 добавляет TOTP и вложения.
    • Семья до шести. Families за $40 в год дешевле любого VPS: по деньгам — только облако.
    • Команда от шести-семи человек. Начинается Teams, и разрыв становится кратным: подписка растёт линейно, сервер — нет. Это и есть точка окупаемости.

    У российского читателя всё это перевешивает один пункт: подписку Bitwarden не оплатить картой российского банка. Нужна иностранная карта, посредник или подарочный код, и раз в год квест повторяется. Сервер у российского провайдера оплачивается картой, по СБП или криптой.

    Противовес, о котором продавцы серверов молчат: self-host стоит времени — обновления раз в месяц, проверка бэкапов раз в квартал, разбор инцидента. Команде из десяти экономия в $480 это перекрывает, семье из четверых — нет.

    Функции: что Vaultwarden отдаёт даром и чего у него нет

    Vaultwarden не «взламывает» лицензию — у него просто нет биллинга, поэтому премиальные функции доступны всем. Дыры у него на корпоративной стороне.

    ФункцияBitwardenVaultwarden
    TOTP-коды, вложения, Send с файломPremium и вышевсем
    Экстренный доступ, YubiKey OTP, DuoPremium и вышеесть
    Организации, коллекции, группы, политикиплатные планыесть
    SSO по SAML/OIDCEnterpriseэкспериментально, SSO_ENABLED
    SCIM, Directory Connector, trusted deviceEnterpriseнет
    Аудит, SOC 2, поддержка с SLAестьнет

    Про вложения: в облаке Premium даёт 1 ГБ на аккаунт, у Vaultwarden лимит задаёте вы сами в килобайтах — USER_ATTACHMENT_LIMIT=102400 это 100 МБ на пользователя. По умолчанию лимита нет вообще, и пятеро сотрудников уложат на диск всё свободное место.

    Пуш-уведомления. Без них телефон подтягивает изменения только при открытии приложения. Vaultwarden умеет ходить через официальный релей, но нужна регистрация установки на bitwarden.com/host:

    PUSH_ENABLED=true
    PUSH_INSTALLATION_ID=00000000-0000-0000-0000-000000000000
    PUSH_INSTALLATION_KEY=xxxxxxxxxxxxxxxxxxxx
    PUSH_RELAY_URI=https://push.bitwarden.com
    PUSH_IDENTITY_URI=https://identity.bitwarden.com

    Регион релея обязан совпадать с тем, где получен installation ID: ключ из bitwarden.eu с американским релеем не работает. Если телефон всё равно молчит — причины разобраны в статье о том, почему Vaultwarden не синхронизируется.

    SSO в свежих ветках есть экспериментально, по OIDC. Но если у вас Entra ID с автозаведением сотрудников и отзывом доступа при увольнении — Vaultwarden не подходит: SCIM нет.

    Цена самостоятельности: что переезжает на вас

    Половина неудачных self-host-историй ломается не на установке, а тут.

    • HTTPS обязателен. Клиенты используют Web Crypto API, недоступный в незащищённом контексте: по http:// веб-хранилище не работает, а приложение откажется добавлять сервер. Переменная DOMAIN должна совпадать с публичным адресом вместе со схемой (DOMAIN=https://vault.example.com), иначе ломаются WebAuthn и ссылки Send.
    • Админ-панель. Без ADMIN_TOKEN страница /admin отдаёт 404 и панель выключена — самый безопасный режим. Нужна — храните хеш: docker exec -it vaultwarden /vaultwarden hash --preset owasp даёт $argon2id$v=19$m=19456,t=2,p=1$.... В блоке environment: каждый $ надо удвоить до $$, иначе Compose съест его как подстановку.
    • Защита от перебора. Включите LOG_FILE=/data/vaultwarden.log и EXTENDED_LOGGING=true — по строкам Username or password is incorrect. Try again. IP: 203.0.113.10. работает фильтр fail2ban. Плюс ufw allow 22/tcp и ufw allow 443/tcp, сам Vaultwarden слушает 127.0.0.1.
    • Обновления. Версию видно без входа в панель: curl -s https://vault.example.com/api/config | jq -r '.version'. Тег latest удобен, но в проде лучше пин vaultwarden/server:1.34.3-alpine: миграции базы необратимы. И по умолчанию Vaultwarden сам ходит за фавиконками сайтов из вашего хранилища — приватнее DISABLE_ICON_DOWNLOAD=true.
    • Бэкапы. Потеряли /data/db.sqlite3 — потеряли все пароли. Живой SQLite нельзя копировать через cp, нужен sqlite3 ... ".backup"; кроме базы забирают attachments, sends и rsa_key.pem. Подробности — в материале про бэкап и восстановление паролей.

    Хорошая новость: падение сервера не отрезает вас от паролей — клиенты держат локальную зашифрованную копию и работают офлайн, отвалятся лишь синхронизация, веб-версия и вход на новом устройстве. Ловушка одна: «действие по таймауту: выход» — после выхода снова нужен сервер, ставьте «блокировку».

    Миграция в любую сторону и вывод «кому что»

    Вендор-лока нет: формат экспорта общий, переезд в любую сторону одинаков — Инструменты → Экспорт хранилища, формат .json. Берёте защищённый экспорт — выбирайте пароль файла, а не «привязанный к аккаунту»: второй расшифровывается только тем же аккаунтом на том же сервере. Через CLI воспроизводимее:

    npm install -g @bitwarden/cli
    bw config server https://vault.example.com
    bw login && export BW_SESSION=$(bw unlock --raw)
    bw export --format json --output personal.json
    bw import bitwardenjson personal.json

    Организация выгружается отдельно (bw export --organizationid <uuid>). Экспортом не переносятся: вложения (в JSON только метаданные — качайте через bw get attachment <имя> --itemid <uuid>), Send, история паролей и корзина. Двухфакторка живёт на сервере, поэтому 2FA на новом месте включается заново каждым пользователем. И нешифрованный JSON содержит все пароли открытым текстом — после импорта shred -u personal.json.

    Вывод:

    • Облако Bitwarden — если вы один или вас пятеро и нет желания отвечать за бэкапы. $10–40 в год — честная цена за чужую ответственность.
    • Vaultwarden на своём сервере — если вас больше шести и Teams считается сотнями долларов, если оплатить подписку из России нечем, если нужны TOTP и вложения без тарифа.
    • Официальный self-host Bitwarden — если нужны SSO, SCIM, договор и аудит: платите лицензию и содержите стек на 8 ГБ. И не поднимайте ничего, если нет привычки обновлять сервер и проверять восстановление из копии.

    Какой сервер взять в MAATRIX под Vaultwarden

    Конфигурация тут скромная, и раздувать её незачем.

    Минимум: 1 vCPU, 1 ГБ RAM, 20 ГБ NVMe. Сам сервер — 20–60 МиБ, прокси — ещё 15–20 МиБ, остальное занимает система; хватает семье и команде до 20–30 человек. Ограничения честные: на 1 ГБ не стоит селить рядом PostgreSQL, мониторинг и второй сайт, а 20 ГБ диска закончатся, если пользователи начнут складывать вложения. Свап на 1–2 ГБ включите в любом случае.

    Комфортный вариант: 2 vCPU, 2–4 ГБ RAM, 40–60 ГБ NVMe. Помещаются Vaultwarden, PostgreSQL 17 вместо SQLite (нужен, если пользователей за сотню), Caddy, fail2ban, ежедневный бэкап в S3 и Uptime Kuma. Официальный Bitwarden просит 4 vCPU, 8 ГБ RAM, 80 ГБ NVMe: два гигабайта из документации — тот порог, на котором MS SQL падает с ошибкой из второй секции.

    Ставить руками ничего не нужно: Vaultwarden есть в каталоге apps.maatrix.io и разворачивается автоматически при заказе сервера на Ubuntu или Debian, доступы появляются в личном кабинете в разделе «Доступ». Остаётся направить домен, дождаться сертификата, создать учётную запись и выставить SIGNUPS_ALLOWED=false. Пошагово — как установить и настроить Vaultwarden на VPS.

    Локация — Лондон. Пинг тут почти не важен: 45–60 мс из Москвы вы не отличите от локальной сети. Важнее, что британская площадка без ухищрений ходит к Let's Encrypt, к релею пушей Bitwarden и к API Have I Been Pwned. Франция равноценна для ЕС, США — для американской команды. Россия нужна корпоративному хранилищу с данными сотрудников: там решает 152-ФЗ.

    Оплата — картами российских банков, по СБП, криптой или токеном MAAT. Иностранная карта не нужна, даже когда сервер стоит в Лондоне: проблема, из-за которой многие и уходят с подписки Bitwarden, здесь не возникает.

    Развернуть за пару минут

    Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

    Развернуть Vaultwarden
    0 добавляет TOTP и вложения.
  • Семья до шести. Families за $40 в год дешевле любого VPS: по деньгам — только облако.
  • Команда от шести-семи человек. Начинается Teams, и разрыв становится кратным: подписка растёт линейно, сервер — нет. Это и есть точка окупаемости.

У российского читателя всё это перевешивает один пункт: подписку Bitwarden не оплатить картой российского банка. Нужна иностранная карта, посредник или подарочный код, и раз в год квест повторяется. Сервер у российского провайдера оплачивается картой, по СБП или криптой.

Противовес, о котором продавцы серверов молчат: self-host стоит времени — обновления раз в месяц, проверка бэкапов раз в квартал, разбор инцидента. Команде из десяти экономия в $480 это перекрывает, семье из четверых — нет.

Функции: что Vaultwarden отдаёт даром и чего у него нет

Vaultwarden не «взламывает» лицензию — у него просто нет биллинга, поэтому премиальные функции доступны всем. Дыры у него на корпоративной стороне.

ФункцияBitwardenVaultwarden
TOTP-коды, вложения, Send с файломPremium и вышевсем
Экстренный доступ, YubiKey OTP, DuoPremium и вышеесть
Организации, коллекции, группы, политикиплатные планыесть
SSO по SAML/OIDCEnterpriseэкспериментально, SSO_ENABLED
SCIM, Directory Connector, trusted deviceEnterpriseнет
Аудит, SOC 2, поддержка с SLAестьнет

Про вложения: в облаке Premium даёт 1 ГБ на аккаунт, у Vaultwarden лимит задаёте вы сами в килобайтах — USER_ATTACHMENT_LIMIT=102400 это 100 МБ на пользователя. По умолчанию лимита нет вообще, и пятеро сотрудников уложат на диск всё свободное место.

Пуш-уведомления. Без них телефон подтягивает изменения только при открытии приложения. Vaultwarden умеет ходить через официальный релей, но нужна регистрация установки на bitwarden.com/host:

PUSH_ENABLED=true
PUSH_INSTALLATION_ID=00000000-0000-0000-0000-000000000000
PUSH_INSTALLATION_KEY=xxxxxxxxxxxxxxxxxxxx
PUSH_RELAY_URI=https://push.bitwarden.com
PUSH_IDENTITY_URI=https://identity.bitwarden.com

Регион релея обязан совпадать с тем, где получен installation ID: ключ из bitwarden.eu с американским релеем не работает. Если телефон всё равно молчит — причины разобраны в статье о том, почему Vaultwarden не синхронизируется.

SSO в свежих ветках есть экспериментально, по OIDC. Но если у вас Entra ID с автозаведением сотрудников и отзывом доступа при увольнении — Vaultwarden не подходит: SCIM нет.

Цена самостоятельности: что переезжает на вас

Половина неудачных self-host-историй ломается не на установке, а тут.

  • HTTPS обязателен. Клиенты используют Web Crypto API, недоступный в незащищённом контексте: по http:// веб-хранилище не работает, а приложение откажется добавлять сервер. Переменная DOMAIN должна совпадать с публичным адресом вместе со схемой (DOMAIN=https://vault.example.com), иначе ломаются WebAuthn и ссылки Send.
  • Админ-панель. Без ADMIN_TOKEN страница /admin отдаёт 404 и панель выключена — самый безопасный режим. Нужна — храните хеш: docker exec -it vaultwarden /vaultwarden hash --preset owasp даёт $argon2id$v=19$m=19456,t=2,p=1$.... В блоке environment: каждый $ надо удвоить до $, иначе Compose съест его как подстановку.
  • Защита от перебора. Включите LOG_FILE=/data/vaultwarden.log и EXTENDED_LOGGING=true — по строкам Username or password is incorrect. Try again. IP: 203.0.113.10. работает фильтр fail2ban. Плюс ufw allow 22/tcp и ufw allow 443/tcp, сам Vaultwarden слушает 127.0.0.1.
  • Обновления. Версию видно без входа в панель: curl -s https://vault.example.com/api/config | jq -r '.version'. Тег latest удобен, но в проде лучше пин vaultwarden/server:1.34.3-alpine: миграции базы необратимы. И по умолчанию Vaultwarden сам ходит за фавиконками сайтов из вашего хранилища — приватнее DISABLE_ICON_DOWNLOAD=true.
  • Бэкапы. Потеряли /data/db.sqlite3 — потеряли все пароли. Живой SQLite нельзя копировать через cp, нужен sqlite3 ... ".backup"; кроме базы забирают attachments, sends и rsa_key.pem. Подробности — в материале про бэкап и восстановление паролей.

Хорошая новость: падение сервера не отрезает вас от паролей — клиенты держат локальную зашифрованную копию и работают офлайн, отвалятся лишь синхронизация, веб-версия и вход на новом устройстве. Ловушка одна: «действие по таймауту: выход» — после выхода снова нужен сервер, ставьте «блокировку».

Миграция в любую сторону и вывод «кому что»

Вендор-лока нет: формат экспорта общий, переезд в любую сторону одинаков — Инструменты → Экспорт хранилища, формат .json. Берёте защищённый экспорт — выбирайте пароль файла, а не «привязанный к аккаунту»: второй расшифровывается только тем же аккаунтом на том же сервере. Через CLI воспроизводимее:

npm install -g @bitwarden/cli
bw config server https://vault.example.com
bw login && export BW_SESSION=$(bw unlock --raw)
bw export --format json --output personal.json
bw import bitwardenjson personal.json

Организация выгружается отдельно (bw export --organizationid <uuid>). Экспортом не переносятся: вложения (в JSON только метаданные — качайте через bw get attachment <имя> --itemid <uuid>), Send, история паролей и корзина. Двухфакторка живёт на сервере, поэтому 2FA на новом месте включается заново каждым пользователем. И нешифрованный JSON содержит все пароли открытым текстом — после импорта shred -u personal.json.

Вывод:

  • Облако Bitwarden — если вы один или вас пятеро и нет желания отвечать за бэкапы.

    Развернуть за пару минут

    Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

    Развернуть Vaultwarden

    Деньги: где проходит точка окупаемости

    Публичные цены Bitwarden на 2026 год (сверяйте на сайте, они меняются):

    ТарифЦенаНа кого
    Free01 + шеринг с одним
    Premium~$10 в год1
    Families~$40 в годдо 6
    Teams~$4 за пользователя в месяцот 1
    Enterprise~$6 за пользователя в месяцот 1

    Команда из 10 человек на Teams — около $480 в год, из 30 на Enterprise — около $2160. Vaultwarden стоит ровно столько, сколько VPS, и от числа пользователей не зависит: пятеро и пятьдесят обходятся одинаково.

    • Один человек. Облако выигрывает: Free закрывает неограниченное число записей и устройств, Premium за $10 добавляет TOTP и вложения.
    • Семья до шести. Families за $40 в год дешевле любого VPS: по деньгам — только облако.
    • Команда от шести-семи человек. Начинается Teams, и разрыв становится кратным: подписка растёт линейно, сервер — нет. Это и есть точка окупаемости.

    У российского читателя всё это перевешивает один пункт: подписку Bitwarden не оплатить картой российского банка. Нужна иностранная карта, посредник или подарочный код, и раз в год квест повторяется. Сервер у российского провайдера оплачивается картой, по СБП или криптой.

    Противовес, о котором продавцы серверов молчат: self-host стоит времени — обновления раз в месяц, проверка бэкапов раз в квартал, разбор инцидента. Команде из десяти экономия в $480 это перекрывает, семье из четверых — нет.

    Функции: что Vaultwarden отдаёт даром и чего у него нет

    Vaultwarden не «взламывает» лицензию — у него просто нет биллинга, поэтому премиальные функции доступны всем. Дыры у него на корпоративной стороне.

    ФункцияBitwardenVaultwarden
    TOTP-коды, вложения, Send с файломPremium и вышевсем
    Экстренный доступ, YubiKey OTP, DuoPremium и вышеесть
    Организации, коллекции, группы, политикиплатные планыесть
    SSO по SAML/OIDCEnterpriseэкспериментально, SSO_ENABLED
    SCIM, Directory Connector, trusted deviceEnterpriseнет
    Аудит, SOC 2, поддержка с SLAестьнет

    Про вложения: в облаке Premium даёт 1 ГБ на аккаунт, у Vaultwarden лимит задаёте вы сами в килобайтах — USER_ATTACHMENT_LIMIT=102400 это 100 МБ на пользователя. По умолчанию лимита нет вообще, и пятеро сотрудников уложат на диск всё свободное место.

    Пуш-уведомления. Без них телефон подтягивает изменения только при открытии приложения. Vaultwarden умеет ходить через официальный релей, но нужна регистрация установки на bitwarden.com/host:

    PUSH_ENABLED=true
    PUSH_INSTALLATION_ID=00000000-0000-0000-0000-000000000000
    PUSH_INSTALLATION_KEY=xxxxxxxxxxxxxxxxxxxx
    PUSH_RELAY_URI=https://push.bitwarden.com
    PUSH_IDENTITY_URI=https://identity.bitwarden.com

    Регион релея обязан совпадать с тем, где получен installation ID: ключ из bitwarden.eu с американским релеем не работает. Если телефон всё равно молчит — причины разобраны в статье о том, почему Vaultwarden не синхронизируется.

    SSO в свежих ветках есть экспериментально, по OIDC. Но если у вас Entra ID с автозаведением сотрудников и отзывом доступа при увольнении — Vaultwarden не подходит: SCIM нет.

    Цена самостоятельности: что переезжает на вас

    Половина неудачных self-host-историй ломается не на установке, а тут.

    • HTTPS обязателен. Клиенты используют Web Crypto API, недоступный в незащищённом контексте: по http:// веб-хранилище не работает, а приложение откажется добавлять сервер. Переменная DOMAIN должна совпадать с публичным адресом вместе со схемой (DOMAIN=https://vault.example.com), иначе ломаются WebAuthn и ссылки Send.
    • Админ-панель. Без ADMIN_TOKEN страница /admin отдаёт 404 и панель выключена — самый безопасный режим. Нужна — храните хеш: docker exec -it vaultwarden /vaultwarden hash --preset owasp даёт $argon2id$v=19$m=19456,t=2,p=1$.... В блоке environment: каждый $ надо удвоить до $$, иначе Compose съест его как подстановку.
    • Защита от перебора. Включите LOG_FILE=/data/vaultwarden.log и EXTENDED_LOGGING=true — по строкам Username or password is incorrect. Try again. IP: 203.0.113.10. работает фильтр fail2ban. Плюс ufw allow 22/tcp и ufw allow 443/tcp, сам Vaultwarden слушает 127.0.0.1.
    • Обновления. Версию видно без входа в панель: curl -s https://vault.example.com/api/config | jq -r '.version'. Тег latest удобен, но в проде лучше пин vaultwarden/server:1.34.3-alpine: миграции базы необратимы. И по умолчанию Vaultwarden сам ходит за фавиконками сайтов из вашего хранилища — приватнее DISABLE_ICON_DOWNLOAD=true.
    • Бэкапы. Потеряли /data/db.sqlite3 — потеряли все пароли. Живой SQLite нельзя копировать через cp, нужен sqlite3 ... ".backup"; кроме базы забирают attachments, sends и rsa_key.pem. Подробности — в материале про бэкап и восстановление паролей.

    Хорошая новость: падение сервера не отрезает вас от паролей — клиенты держат локальную зашифрованную копию и работают офлайн, отвалятся лишь синхронизация, веб-версия и вход на новом устройстве. Ловушка одна: «действие по таймауту: выход» — после выхода снова нужен сервер, ставьте «блокировку».

    Миграция в любую сторону и вывод «кому что»

    Вендор-лока нет: формат экспорта общий, переезд в любую сторону одинаков — Инструменты → Экспорт хранилища, формат .json. Берёте защищённый экспорт — выбирайте пароль файла, а не «привязанный к аккаунту»: второй расшифровывается только тем же аккаунтом на том же сервере. Через CLI воспроизводимее:

    npm install -g @bitwarden/cli
    bw config server https://vault.example.com
    bw login && export BW_SESSION=$(bw unlock --raw)
    bw export --format json --output personal.json
    bw import bitwardenjson personal.json

    Организация выгружается отдельно (bw export --organizationid <uuid>). Экспортом не переносятся: вложения (в JSON только метаданные — качайте через bw get attachment <имя> --itemid <uuid>), Send, история паролей и корзина. Двухфакторка живёт на сервере, поэтому 2FA на новом месте включается заново каждым пользователем. И нешифрованный JSON содержит все пароли открытым текстом — после импорта shred -u personal.json.

    Вывод:

    • Облако Bitwarden — если вы один или вас пятеро и нет желания отвечать за бэкапы. $10–40 в год — честная цена за чужую ответственность.
    • Vaultwarden на своём сервере — если вас больше шести и Teams считается сотнями долларов, если оплатить подписку из России нечем, если нужны TOTP и вложения без тарифа.
    • Официальный self-host Bitwarden — если нужны SSO, SCIM, договор и аудит: платите лицензию и содержите стек на 8 ГБ. И не поднимайте ничего, если нет привычки обновлять сервер и проверять восстановление из копии.

    Какой сервер взять в MAATRIX под Vaultwarden

    Конфигурация тут скромная, и раздувать её незачем.

    Минимум: 1 vCPU, 1 ГБ RAM, 20 ГБ NVMe. Сам сервер — 20–60 МиБ, прокси — ещё 15–20 МиБ, остальное занимает система; хватает семье и команде до 20–30 человек. Ограничения честные: на 1 ГБ не стоит селить рядом PostgreSQL, мониторинг и второй сайт, а 20 ГБ диска закончатся, если пользователи начнут складывать вложения. Свап на 1–2 ГБ включите в любом случае.

    Комфортный вариант: 2 vCPU, 2–4 ГБ RAM, 40–60 ГБ NVMe. Помещаются Vaultwarden, PostgreSQL 17 вместо SQLite (нужен, если пользователей за сотню), Caddy, fail2ban, ежедневный бэкап в S3 и Uptime Kuma. Официальный Bitwarden просит 4 vCPU, 8 ГБ RAM, 80 ГБ NVMe: два гигабайта из документации — тот порог, на котором MS SQL падает с ошибкой из второй секции.

    Ставить руками ничего не нужно: Vaultwarden есть в каталоге apps.maatrix.io и разворачивается автоматически при заказе сервера на Ubuntu или Debian, доступы появляются в личном кабинете в разделе «Доступ». Остаётся направить домен, дождаться сертификата, создать учётную запись и выставить SIGNUPS_ALLOWED=false. Пошагово — как установить и настроить Vaultwarden на VPS.

    Локация — Лондон. Пинг тут почти не важен: 45–60 мс из Москвы вы не отличите от локальной сети. Важнее, что британская площадка без ухищрений ходит к Let's Encrypt, к релею пушей Bitwarden и к API Have I Been Pwned. Франция равноценна для ЕС, США — для американской команды. Россия нужна корпоративному хранилищу с данными сотрудников: там решает 152-ФЗ.

    Оплата — картами российских банков, по СБП, криптой или токеном MAAT. Иностранная карта не нужна, даже когда сервер стоит в Лондоне: проблема, из-за которой многие и уходят с подписки Bitwarden, здесь не возникает.

    Развернуть за пару минут

    Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

    Развернуть Vaultwarden
    0–40 в год — честная цена за чужую ответственность.
  • Vaultwarden на своём сервере — если вас больше шести и Teams считается сотнями долларов, если оплатить подписку из России нечем, если нужны TOTP и вложения без тарифа.
  • Официальный self-host Bitwarden — если нужны SSO, SCIM, договор и аудит: платите лицензию и содержите стек на 8 ГБ. И не поднимайте ничего, если нет привычки обновлять сервер и проверять восстановление из копии.

Какой сервер взять в MAATRIX под Vaultwarden

Конфигурация тут скромная, и раздувать её незачем.

Минимум: 1 vCPU, 1 ГБ RAM, 20 ГБ NVMe. Сам сервер — 20–60 МиБ, прокси — ещё 15–20 МиБ, остальное занимает система; хватает семье и команде до 20–30 человек. Ограничения честные: на 1 ГБ не стоит селить рядом PostgreSQL, мониторинг и второй сайт, а 20 ГБ диска закончатся, если пользователи начнут складывать вложения. Свап на 1–2 ГБ включите в любом случае.

Комфортный вариант: 2 vCPU, 2–4 ГБ RAM, 40–60 ГБ NVMe. Помещаются Vaultwarden, PostgreSQL 17 вместо SQLite (нужен, если пользователей за сотню), Caddy, fail2ban, ежедневный бэкап в S3 и Uptime Kuma. Официальный Bitwarden просит 4 vCPU, 8 ГБ RAM, 80 ГБ NVMe: два гигабайта из документации — тот порог, на котором MS SQL падает с ошибкой из второй секции.

Ставить руками ничего не нужно: Vaultwarden есть в каталоге apps.maatrix.io и разворачивается автоматически при заказе сервера на Ubuntu или Debian, доступы появляются в личном кабинете в разделе «Доступ». Остаётся направить домен, дождаться сертификата, создать учётную запись и выставить SIGNUPS_ALLOWED=false. Пошагово — как установить и настроить Vaultwarden на VPS.

Локация — Лондон. Пинг тут почти не важен: 45–60 мс из Москвы вы не отличите от локальной сети. Важнее, что британская площадка без ухищрений ходит к Let's Encrypt, к релею пушей Bitwarden и к API Have I Been Pwned. Франция равноценна для ЕС, США — для американской команды. Россия нужна корпоративному хранилищу с данными сотрудников: там решает 152-ФЗ.

Оплата — картами российских банков, по СБП, криптой или токеном MAAT. Иностранная карта не нужна, даже когда сервер стоит в Лондоне: проблема, из-за которой многие и уходят с подписки Bitwarden, здесь не возникает.

Развернуть за пару минут

Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Vaultwarden

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Можно ли пользоваться официальными приложениями Bitwarden с Vaultwarden?

Да, в этом и смысл: сервер реализует тот же API. На экране входа переключите регион на Self-hosted и укажите https://vault.example.com. Ограничение одно — пуши не заработают без PUSH_INSTALLATION_ID и PUSH_INSTALLATION_KEY.

Что увидит злоумышленник, если взломает мой сервер?

Хранилище лежит только шифротекстом; утекут метаданные — адреса почты, число записей, состав организаций. Риск другой: захватив сервер, атакующий может подменить JavaScript веб-хранилища и перехватить мастер-пароль у того, кто войдёт через браузер. Поэтому обновляйтесь, закройте /admin и работайте через настольные и мобильные клиенты.

Стоит ли ждать Bitwarden Unified вместо Vaultwarden?

Официальный однокубный вариант с SQLite, MySQL и Postgres в beta не первый год, ест в разы больше памяти и всё так же требует installation ID. Нужен официальный код — берите полный стек, нужна экономия — Vaultwarden практичнее.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.