Self-host Vaultwarden на VPS.
Ваше собственное Bitwarden-совместимое хранилище за 30 минут.
Vaultwarden — лёгкий, основанный на Rust, Bitwarden-совместимый сервер паролей. Пять Docker-команд, один HTTPS обратный прокси, один backup cron — и хранилище учётных данных каждого аккаунта находится на железе, которое вы арендуете, а не на инфраструктуре, которой вы доверяете.
- 01
Vaultwarden совместим с Bitwarden на уровне протокола и хранилища — каждый официальный клиент просто работает. Работает в 50–100 MB RAM; любой VPS справится.
- 02
Хранилище шифруется на стороне клиента с помощью AES-256. Сервер никогда не видит ваш мастер-пароль. Компрометация VPS даёт зашифрованный блоб, а не учётные данные.
- 03
Неочевидный шаг — уровень метаданных: оплата хостера картой, связанной с KYC, привязывает вашу реальную личность к IP вашего хранилища. No-KYC хостер с оплатой в криптовалюте устраняет эту связь.
Что такое Vaultwarden, и чем он не является.
Vaultwarden — бывший bitwarden_rs — это независимая серверная переработка Bitwarden API на Rust. Говорит на том же проводном протоколе, что и официальный сервер Bitwarden, хранит хранилища в том же зашифрованном формате и принимает каждый официальный клиент без изменений. Для расширения браузера Bitwarden или iOS-приложения сервер Vaultwarden неотличим от bitwarden.com.
Интересные различия — операционные. Официальный сервер Bitwarden — это многоконтейнерный стек .NET, разработанный для корпоративного развёртывания; опубликованный образ для self-hosting требует 2 GB RAM и лицензию SQL Server для комфортной работы. Vaultwarden — единственный 15 MB двоичный файл на Rust, использующий SQLite по умолчанию, работающий в 50 MB RAM и запускающийся за секунду. Весь проект умещается в одном Docker-контейнере без зависимостей.
Вы получаете весь функционал Bitwarden: хранилище паролей, защищённые заметки, записи удостоверений, платёжные карты, вложения файлов, Send (одноразовые зашифрованные ссылки), TOTP-аутентификатор, Организации с общими коллекциями, аппаратный ключ 2FA, автозаполнение браузера, биометрическую разблокировку на мобильных — без каких-либо платных ограничений. Эквивалент плана Families и эквивалент Enterprise SSO оба бесплатны на self-hosted Vaultwarden.
Чем Vaultwarden не является: официально проверенным сервером. Криптографические примитивы унаследованы от клиентов Bitwarden (которые прошли независимый аудит), но сам сервер Vaultwarden не проходил стороннего аудита безопасности. Для личного хранилища или хранилища небольшой команды — вполне разумный компромисс; для регулируемого предприятия — нет.
Выбор VPS — почему хостер важнее характеристик.
Vaultwarden работает практически на любом Linux VPS — порог ресурсов настолько низок, что характеристики — не тот параметр для оптимизации. Правильный параметр — что нужно передать, чтобы арендовать машину.
Хранилище паролей — это цель с абсолютно наивысшей ценностью, которой владеет частное лицо. Его компрометация открывает доступ ко всем остальным аккаунтам владельца. Криптографическая позиция защищает содержимое хранилища, но не метаданные вокруг него: кто арендовал IP, откуда, какой картой оплачено, на какое имя зарегистрировано.
Когда вы арендуете VPS у мейнстримного провайдера с полным KYC, биллинговая база данных связывает ваше юридическое имя с IPv4 сервера. Если хостер взломан, получил повестку или просто продаёт анонимизированные данные партнёру по маркетинговой аналитике — связь сохраняется. Хранилище остаётся зашифрованным, но уровень метаданных изначально негерметичен.
NordBastion — полная противоположность: только email и пароль в качестве минимального порога регистрации, оплата в Bitcoin, Monero, Lightning или другой криптовалютой, четыре скандинавских конституционных режима свободы прессы для дата-центра. Хранилище принадлежит вам; цепочки метаданных, ведущей от хранилища к вашей личности, попросту не существует. Для размещения Vaultwarden стартовый <a href="/ru/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">Ravelin VPS за $5.90 в месяц</a> с запасом покрывает потребности — 2 vCPU, 4 GB RAM и 80 GB SSD обеспечат работу Vaultwarden, обратного прокси и ещё трёх самостоятельно размещённых приложений на одном сервере.
Установка Docker. Пять команд, десять минут.
Запустите чистый Debian 12 VPS, войдите по SSH как не-root sudo пользователь, затем выполните эти пять блоков. Замените vault.example.com на ваш собственный поддомен — это будет URL для доступа к веб-хранилищу.
1. Установите Docker. curl -fsSL https://get.docker.com | sh && sudo usermod -aG docker $USER — выйдите из системы и войдите снова, чтобы членство в группе вступило в силу.
2. Создайте директорию данных. mkdir -p ~/vw-data — всё состояние Vaultwarden (БД SQLite хранилища, вложения, кеш иконок) находится в одной директории; это делает резервное копирование простым.
3. Сгенерируйте токен администратора. docker run --rm vaultwarden/server /vaultwarden hash --preset owasp — вставьте выбранный пароль администратора при запросе, сохраните полученный Argon2-хеш. Этот хеш защищает панель /admin.
4. Запустите контейнер. docker run -d --name vaultwarden --restart unless-stopped -e DOMAIN="https://vault.example.com" -e ADMIN_TOKEN='<paste-hash-from-step-3>' -e SIGNUPS_ALLOWED=false -e WEBSOCKET_ENABLED=true -v ~/vw-data:/data -p [redacted-ip]:80 vaultwarden/server:latest — обратите внимание: привязка -p [redacted-ip] сохраняет Vaultwarden приватным для хоста; обратный прокси из главы 4 открывает его.
5. Проверьте. curl -s http://[redacted-ip]/alive должен вернуть timestamp. Если так — Vaultwarden работает. Если нет — docker logs vaultwarden показывает, что пошло не так: почти всегда это опечатка в переменной среды ADMIN_TOKEN.
SIGNUPS_ALLOWED=false на шаге 4 — самая часто забываемая настройка. Оставьте true — и ваше хранилище открыто для регистрации любому, кто найдёт URL. Переключайте в true только на время создания собственного аккаунта, затем верните false и перезапустите.
HTTPS и панель администратора. Обязательно, но пять минут.
Vaultwarden отказывается обслуживать веб-хранилище по обычному HTTP с не-localhost адреса; каждый официальный клиент также отказывается общаться с не-HTTPS сервером. Шаг обратного прокси + Let's Encrypt — это шлюз к остальной настройке. Caddy — самый лёгкий путь: один бинарник, автоматический ACME, без отдельного certbot для планирования.
Направьте DNS A-запись для vault.example.com на IP VPS и дождитесь распространения (около двух минут для новых записей у большинства провайдеров). sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" | sudo tee /etc/apt/sources.list.d/caddy-stable.list && sudo apt update && sudo apt install caddy.
Напишите /etc/caddy/Caddyfile: vault.example.com { reverse_proxy [redacted-ip] header_up X-Real-IP {remote_host} } — это вся конфигурация. sudo systemctl reload caddy — и через десять секунд Caddy получит сертификат Let's Encrypt и хранилище станет доступно на https://vault.example.com.
Панель /admin. Vaultwarden предоставляет интерфейс администратора по адресу /admin, защищённый Argon2-хешем, сгенерированным в главе 3. Оттуда можно отключить регистрацию (уже сделано на шаге 4), настроить SMTP-сервер для писем с приглашениями и сброса пароля, настроить Yubikey или Duo 2FA, задать лимиты на пользователя и просмотреть список пользователей. Откройте один раз, пройдите каждый раздел, сохраните настройки — с этого момента они хранятся в /vw-data/config.json.
Небольшая деталь усиления защиты: полностью скройте /admin от публичного интернета. Добавьте в Caddyfile: vault.example.com { @admin path /admin* @admin not remote_ip [redacted-ip]/8 [redacted-ip]/16 your.home.ip/32 respond @admin 404 ... } — любой, кто не находится на вашем домашнем IP, получит 404 при попытке обратиться к /admin; панель невидима из открытого интернета.
Резервные копии. Единственная ошибка, которая вас уничтожит.
Хранилище паролей, из которого вы не можете восстановиться — это хранилище, которое вы уже потеряли. История резервного копирования Vaultwarden милосердно проста: всё важное находится в одной директории. Но именно дисциплина тестирования восстановления отделяет рабочую конфигурацию от будущего инцидента.
Что резервировать. Всё дерево ~/vw-data/. Внутри: db.sqlite3 — зашифрованное хранилище, attachments/ — вложения файлов, config.json — настройки /admin, sends/ — временные зашифрованные общие данные, rsa_key.* — ключи подписи JWT, используемые сессиями.
Как создавать резервные копии. SQLite обрабатывает параллельное резервное копирование через команду .backup — настройте ночной cron: 0 4 * * * docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup /data/db.sqlite3.bak" && tar czf /backups/vw-$(date -I).tgz -C /home/<user>/vw-data . — хранилище на 50 аккаунтов создаёт tarball менее 1 MB.
Куда отправлять резервные копии. В любое место, кроме того же VPS. rclone в S3-совместимый бакет, второй VPS, домашний NAS через WireGuard или зашифрованный USB-ключ, который вы отправляете родственнику раз в квартал — выберите то, что соответствует вашей модели угроз. Основное правило — географическое и административное разделение от основного.
Проверка восстановления. Запустите второй VPS, скопируйте вчерашнюю резервную копию на него, распакуйте в ~/vw-data, запустите Docker-блок из главы 3, направленный на него, откройте веб-хранилище на временном поддомене, войдите с мастер-паролем. Если аккаунт открылся и хранилище расшифровалось — резервная копия реальна. Выполните эту проверку сейчас, до того как введёте реальные учётные данные в хранилище. Повторяйте каждые шесть месяцев.
Клиенты, совместный доступ, мобильные устройства. Экосистема Bitwarden, направленная на ваш сервер.
Установите официальный клиент Bitwarden по вашему выбору — расширение браузера, десктопное приложение, iOS, Android. Перед входом нажмите значок шестерёнки в верхнем левом углу, переключите сервер с bitwarden.com на https://vault.example.com, затем войдите с аккаунтом, созданным в главе 4. Клиент не видит разницы и ведёт себя идентично управляемой подписке Bitwarden.
Мобильные клиенты требуют одного дополнительного шага: биометрическая разблокировка требует регистрации устройства, которую первый вход на iOS / Android выполняет автоматически. Автозаполнение браузера, мобильное автозаполнение, генерация TOTP, генератор паролей, проверка утечек (HaveIBeenPwned) и Bitwarden Send — всё работает без дополнительной настройки.
Семейный доступ. Создайте Организацию в веб-хранилище → Новая организация → дайте ей название (например, «Семья»), бесплатный план. Внутри организации создайте Коллекцию («Общие счета», «Стриминговые сервисы», «WiFi и роутер»). Пригласите каждого члена семьи по его локальному email сервера, примите приглашение при регистрации, назначьте в коллекцию. С этого момента любой элемент коллекции зашифрован сквозным шифрованием для каждого члена коллекции — сервер видит только зашифрованный текст.
За что вам не нужно платить. Все платные функции Bitwarden, которые управляются политикой сервера (Организации, общие коллекции, эквивалент плана Families, аппаратный ключ 2FA, вложения файлов в Send), по умолчанию разблокированы в Vaultwarden, поскольку шлюз — это сервер. Платные функции, управляемые политикой клиента (некоторые премиальные ограничения Bitwarden Mobile), соблюдаются клиентами, если только вы их не патчите — что нет смысла делать для добросовестного пользователя.
Вопросы, и ответы на них.
Восемь вопросов, возникающих до и в течение первого месяца работы с self-hosted Vaultwarden.
Является ли Vaultwarden тем же, что и Bitwarden?
Vaultwarden — независимая переработка сервера Bitwarden на Rust, полностью совместимая со всеми официальными клиентами Bitwarden: расширение браузера, десктопное приложение, iOS, Android, CLI. Не производится Bitwarden Inc. Проводной протокол и формат хранилища идентичны; серверный бинарник составляет примерно 1/100 размера и комфортно работает в 50–100 MB RAM.
Почему держать self-hosted Vaultwarden вместо платного Bitwarden?
Три причины. Первая: никто другой не хранит ваше зашифрованное хранилище — хотя Bitwarden тоже не может его прочитать, устранение третьей стороны — самая чистая модель угроз. Вторая: стоимость — VPS за $5/мес. обслуживает семью из пяти с местом для остального self-hosted стека. Третья: никакой телеметрии, никаких аналитических эндпоинтов, никакого письма верификации аккаунта, привязанного к имени.
Действительно ли безопасно держать self-hosted хранилище паролей?
Да — Vaultwarden использует то же клиентское шифрование, что и Bitwarden. Хранилище шифруется с помощью AES-256 на клиенте до отправки на сервер; сервер никогда не видит ваш мастер-пароль или открытый текст. Компрометация VPS даёт зашифрованный блоб, стойкость которого определяется только вашим мастер-паролем. Операционный риск — на вас (резервные копии, HTTPS, усиление защиты сервера), но криптографический риск идентичен управляемому Bitwarden.
Какой VPS мне нужен?
Очень мало. Vaultwarden доволен 1 vCPU и 512 MB RAM. Минимальный VPS NordBastion (2 vCPU, 4 GB, $5.90/мес.) с лихвой хватает для запуска Vaultwarden, обратного прокси и трёх других self-hosted сервисов на той же машине. Использование диска ничтожно — хранилище на 50 аккаунтов с вложениями занимает менее 200 MB.
Почему важен хостер без KYC с оплатой в криптовалюте для менеджера паролей?
Хранилище паролей — это цель с наивысшей ценностью, которой владеет частное лицо: оно содержит учётные данные от всех остальных аккаунтов. Аренда сервера под юридическим именем с привязанной картой означает, что компрометация биллинговой базы хостера связывает вашу личность с IP вашего хранилища. No-KYC хостер с оплатой в криптовалюте устраняет эту связь по замыслу. Само хранилище по-прежнему шифруется на стороне клиента; no-KYC-позиция защищает уровень метаданных.
Действительно ли мне нужен HTTPS для веб-хранилища Vaultwarden?
Да, строго. Vaultwarden отказывается обслуживать веб-хранилище по обычному HTTP с любого адреса кроме localhost, и каждый официальный клиент также отказывается общаться с не-HTTPS сервером. Настройка обратного прокси + Let's Encrypt в этом руководстве — обязательна. Хорошая новость: весь шаг TLS занимает около трёх минут после распространения DNS A-записи.
Какова единственная самая большая ошибка при self-hosting Vaultwarden?
Не тестировать восстановление из резервной копии. Ночной tar.gz /vw-data/ не является резервной копией до тех пор, пока вы не распакуете его на свежий VPS и не войдёте в восстановленное веб-хранилище. Планируйте сценарий отказа: сервер исчез, диск уничтожен, единственный артефакт — вчерашний файл резервной копии. Можете ли вы вернуться в хранилище? Проведите эту проверку однажды до того, как введёте реальные учётные данные.
Могу ли я поделиться хранилищем с семьёй с self-hosted Vaultwarden?
Да. Vaultwarden переработал функцию Организаций Bitwarden — включая общие коллекции, гранулярные права и эквивалент плана Bitwarden Families — без каких-либо платных уровней. Создайте организацию в веб-хранилище, пригласите семью по email (или поделившись ссылкой-приглашением напрямую), и далее UX совместного доступа идентичен официальному продукту Bitwarden.
Арендуйте VPS без KYC, платите криптовалютой, запустите Vaultwarden сегодня.
Входной тариф Ravelin (2 vCPU, 4 GB RAM, 80 GB SSD, $5.90/мес.) с запасом превышает требования Vaultwarden и оставляет место для остального self-hosted стека на той же машине.
Последняя проверка · 2026-05-20 · Источники · Документация Vaultwarden, матрица совместимости клиентов Bitwarden, Let's Encrypt ACME · Периодичность · ежегодно
Anonymous VPS hosting in 2026 — the cluster.
This guide is one spoke of a larger series. The pillar walks the three privacy layers end to end — the sibling spokes below dive into the specifics.
Three independent layers — signup, payment, network — explained, legal context included, common mistakes flagged.
Files, calendar, contacts, photos — owned, not rented.
Postfix, Dovecot, SPF/DKIM/DMARC — deliverability included.
A meta search engine that does not log you — because you own it.
What “no KYC” actually means — and what it does not.