Vaultwarden — лёгкий сервер паролей, который понимают официальные приложения Bitwarden. Сейф шифруется на телефоне или компьютере до отправки, а на сервере лежит уже шифротекст. Ниже — установка на небольшой VPS, домен для адреса https://vault.example.ru и честное сравнение с KeePass, который синхронизируется через Syncthing.
Сервер Vaultwarden — не продукт компании Bitwarden. Это отдельная программа с открытым кодом, совместимая с их клиентами. Приложения ставятся с bitwarden.com/download, а в поле адреса сервера указывается ваш домен, не облако Bitwarden.
Что такое Vaultwarden
Официальный сервер Bitwarden рассчитан на организацию и тянет за собой тяжёлую установку. Дома и на одном VPS его почти никто не поднимает. Vaultwarden повторяет нужную часть API: сейф, папки, вложения, одноразовые коды TOTP, общий доступ внутри семьи. Для одного-двух человек хватает 1 ГБ памяти.
Мастер-пароль сервер не знает и восстановить его нельзя. Потеряли пароль и не сохранили ключ восстановления из настроек сейфа — записи не прочитать даже с полной копией диска. Это цена того, что хостер не видит пароли.
Оговорка одна. Мобильные и настольные приложения Bitwarden проверяют ответы сервера сами. Веб-страницу сейфа отдаёт ваш VPS: кто контролирует сервер, тот может подменить страницу в браузере. Поэтому Vaultwarden стоит на своём VPS, контейнер обновляется, а чужим людям регистрация закрыта.
Vaultwarden или KeePass с Syncthing
KeePass — это один зашифрованный файл .kdbx. На компьютере его открывает KeePassXC, на Android — KeePassDX. Между устройствами файл возит Syncthing: отдельный сервер паролей не нужен, без интернета база тоже открывается.
Слабое место — сам файл. Если поменять пароль на телефоне и на компьютере, пока Syncthing ещё не догнал предыдущую копию, получатся два файла, и один набор правок придётся переносить руками. Общий сейф для семьи тоже неудобен: либо все знают один мастер-пароль, либо у каждого своя база.

| Что сравниваем | KeePass и Syncthing | Vaultwarden |
|---|---|---|
| Где лежат пароли | файл .kdbx на ваших устройствах | шифротекст на вашем сервере |
| Синхронизация | Syncthing копирует файл | сервер склеивает изменения |
| Одновременные правки | два конфликтующих файла | обычный случай, сейф один |
| Без интернета | файл открывается локально | приложение показывает последнюю копию, новые правки уйдут при связи с сервером |
| Семья | общий файл и один мастер-пароль | организации и коллекции, у каждого свой вход |
| Браузер | расширение KeePassXC | официальное расширение Bitwarden |
| Обслуживание | обновлять приложения | домен, сертификат, контейнер и резервная копия |
KeePass с Syncthing проще, если паролями пользуетесь вы один и Syncthing уже стоит. Vaultwarden имеет смысл, когда нужны телефон, браузер и второй человек без возни с файлом. Перенести уже накопленную базу можно потом: веб-сейф Bitwarden умеет импорт .kdbx, формат описан в справке Bitwarden.
Домен и сервер на Timeweb
Телефон вне дома должен открывать сейф по нормальному адресу с сертификатом. Самоподписанный сертификат приложения Bitwarden не принимают. Домен удобно купить в Timeweb: в той же панели сразу правятся DNS-записи. Основной домен оставьте сайту или почте, для сейфа хватит поддомена vault.example.ru. Вместо example.ru подставьте свой.
Сам сервер — небольшой VPS на Timeweb Cloud. Vaultwarden не нуждается в видеокарте и быстром процессоре: хватает одного ядра, 1 ГБ памяти и 10 ГБ диска. Образ системы — Ubuntu или Debian. IP-адрес из панели пригодится для DNS.
До того как открывать 80 и 443 порт наружу, закройте вход по паролю SSH. Порядок тот же, что в памятке по безопасности VPS: ключ, отдельный пользователь, UFW, Fail2ban. Иначе сервер паролей окажется за чужим паролем root.
Записи DNS
В панели домена Timeweb создайте запись, не дожидаясь установки. Пока DNS не разъедется, Let’s Encrypt не выдаст сертификат.
Минимум такой. Вместо example.ru — ваш домен, вместо IP — адрес VPS.
A vault → IP сервера. Если у VPS есть IPv6, добавьте AAAA vault → этот адрес. Корневой домен и www не трогайте, если они заняты сайтом.
Проверка: 2ip.ru/dig, имя vault.example.ru, тип A. В ответе должен быть IP VPS. Обычно это минуты или часы, иногда до суток.
Установка на VPS
Команды ниже — для Ubuntu. На Debian тот же порядок, только в строке репозитория вместо ubuntu стоит debian. Docker Engine и плагин Compose ставятся по официальной инструкции: установка Docker Engine и установка Docker Compose. Исходники сервера — репозиторий Vaultwarden.
apt update && apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Если файрвол ещё не включали в памятке, откройте SSH, HTTP и HTTPS. SSH — под тем именем или портом, которым вы реально входите, иначе UFW отрежет вас от сервера.
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Каталог установки — /opt/vaultwarden. Токен админки сгенерируйте до первого запуска и сохраните в менеджере, которым пользуетесь сейчас. Это пароль от страницы /admin, не мастер-пароль сейфа.
mkdir -p /opt/vaultwarden
cd /opt/vaultwarden
openssl rand -base64 48
Рядом положите compose.yaml. Подставьте свой домен, почту для Let’s Encrypt и токен. Почта нужна регистратору сертификатов, в сейф она не попадает. SIGNUPS_ALLOWED пока true: иначе вы сами не создадите первый аккаунт.
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
DOMAIN: "https://vault.example.ru"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: "вставьте_токен"
volumes:
- ./vw-data:/data
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 80:80
- 443:443
- 443:443/udp
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-config:/config
- ./caddy-data:/data
environment:
DOMAIN: "https://vault.example.ru"
EMAIL: "you@example.ru"
Файл Caddyfile в том же каталоге. Его не нужно править под домен: адрес и почта приходят из compose.yaml. Caddy получает сертификат сам и проксирует запросы в Vaultwarden, включая WebSocket, без отдельного порта.
{$DOMAIN} {
tls {$EMAIL}
encode zstd gzip
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}
Схема собрана по примеру Docker Compose из документации Vaultwarden: контейнер сервера не торчит в интернет, снаружи виден только Caddy.
cd /opt/vaultwarden
docker compose up -d
docker compose logs -f caddy
В журнале Caddy должна появиться выдача сертификата, без ошибки DNS. Остановить просмотр журнала — Ctrl+C, контейнеры при этом продолжают работать. Откройте https://vault.example.ru и создайте аккаунт. Сразу после этого верните в compose.yaml строку SIGNUPS_ALLOWED: «false» и примените её.
cd /opt/vaultwarden
docker compose up -d
Страница https://vault.example.ru/admin открывается токеном из ADMIN_TOKEN. Через неё приглашают следующих людей, если не хотите снова включать открытую регистрацию. Почту для приглашений можно подключить позже, без неё аккаунт создаётся с этой страницы вручную.
Клиенты Bitwarden
Расширение браузера, программа для компьютера и приложение телефона — официальные, с bitwarden.com/download. На экране входа, до почты, выберите самостоятельное размещение и впишите https://vault.example.ru. Облачный аккаунт Bitwarden здесь ни при чём: почта и мастер-пароль — те, что вы задали на своём сервере.
Телефон и планшет
- iPhone и iPad — App Store.
- Android — Google Play.
- Android без сервисов Google — сборка для F-Droid. В общем каталоге F-Droid её нет: в клиенте добавляется репозиторий
https://mobileapp.bitwarden.com/fdroid/repo, адрес и отпечаток приведены на странице загрузки. В этой сборке нет push-уведомлений, сейф обновляется вручную. Готовые APK лежат в релизах Android-приложения.
Компьютер
- Windows — установщик, портативная версия без автообновления и Microsoft Store. Через Chocolatey:
choco install bitwarden. - macOS — образ DMG и Mac App Store. Через Homebrew:
brew install bitwarden. - Linux — пакет deb, пакет rpm, AppImage, Snap и Flatpak.
Браузер
- Chrome, Brave и Vivaldi.
- Firefox и Tor Browser.
- Microsoft Edge.
- Safari — расширение из Mac App Store.
- Opera.
- DuckDuckGo для Mac — встроенная интеграция, отдельного расширения нет.
Веб-сейф открывается по адресу вашего сервера, https://vault.example.ru. Страница vault.bitwarden.com к этому серверу не подключается.
Телефон хранит копию сейфа и показывает её без сети. Новые записи уедут на сервер, когда связь появится. Мгновенные уведомления о правках с другого устройства — отдельная опция, для неё Vaultwarden ходит на сервис уведомлений Bitwarden. Сами пароли туда не отправляются. Как включить push, написано в документации. Для обычной работы это не обязательно.
Synology, Home Assistant и Proxmox
На VPS выше — основной путь, если сейф нужен и вне дома. Тот же сервер ставится на то, что уже есть дома. Клиенты Bitwarden во всех трёх случаях те же. С улицы им нужен HTTPS: белый IP и проброс портов 80 и 443 на обратный прокси, либо туннель без белого IP — CloudPub, Cloudflare Tunnel или обратный прокси на другом сервере, у которого белый IP уже есть.
Synology. В Центре пакетов ставится программа Vaultwarden из SynoCommunity, не контейнер, который надо собирать самому. Страница пакета — synocommunity.com/package/vaultwarden. Как подключить сам репозиторий SynoCommunity, уже разобрано в статье SynoCommunity на Synology. Пакет слушает порт 8180. Веб-сейф по голому HTTP не откроется: в DSM нужен обратный прокси с сертификатом, заголовок WebSocket и домен. Пошагово это расписано в документации пакета. Данные лежат в /var/packages/vaultwarden/var/ — эту папку и копируют в резерв.
Home Assistant. Дополнение Vaultwarden есть в магазине приложений Home Assistant Community Add-ons, исходники — hassio-addons/app-vaultwarden. Магазин дополнений работает в Home Assistant OS, то есть в той установке, что описана в статье Home Assistant в Proxmox. У контейнера Home Assistant без операционной системы HAOS этого пункта в магазине не будет. Домену и сертификату дополнение не замена: телефон с улицы всё равно приходит на https-адрес.
Proxmox. Готовый контейнер LXC ставит скрипт со страницы community-scripts.org/scripts/vaultwarden. Команду запускают в оболочке самого Proxmox VE, не внутри чужой виртуальной машины:
var_os='debian' bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/vaultwarden.sh)"
Скрипт собирает Vaultwarden из исходников, на слабом узле это занимает заметное время. Сертификат у такого контейнера по умолчанию самоподписанный, его хватает проверить веб-страницу в своей сети и не хватает для приложений Bitwarden на телефоне. Для телефона снаружи остаётся тот же приём, что на VPS: домен, запись A и обратный прокси с нормальным сертификатом.
Резервные копии и обновление
Копия одного сервера без копии каталога vw-data — это не резерв. На время архивации контейнер лучше остановить, чтобы файл SQLite не разрезало пополам. Архив сразу заберите с VPS на другое устройство.
cd /opt/vaultwarden
docker compose stop
tar -C /opt/vaultwarden -czf /root/vaultwarden-$(date +%F).tar.gz vw-data
docker compose start
Обновление — те же два контейнера. После pull имеет смысл открыть сейф в браузере и на телефоне и убедиться, что вход жив.
cd /opt/vaultwarden
docker compose pull
docker compose up -d
Частые вопросы
Что такое Vaultwarden?
Лёгкий сервер паролей с открытым кодом. Он не принадлежит Bitwarden, но с ним работают официальные приложения Bitwarden, если указать адрес своего сервера.
Видит ли хостер мои пароли?
Нет. Клиент шифрует сейф до отправки, на диск VPS попадает шифротекст. Хостер видит, что сервер ваш и что к нему ходят. Веб-страницу сейфа отдаёт этот же сервер, поэтому контейнер нужно обновлять и не открывать регистрацию посторонним.
Что будет, если забыть мастер-пароль?
Сейф не восстановить. Ни администратор Vaultwarden, ни копия диска пароль не раскрывают. Ключ восстановления из настроек сейфа имеет смысл сохранить отдельно, пока помните мастер-пароль.
Чем это отличается от KeePass и Syncthing?
KeePass — один файл, Syncthing его копирует. Это проще для одного человека и работает без сервера. Vaultwarden нужен, когда сейфом пользуются несколько человек или когда не хотите ловить конфликты файла.
Можно ли поставить Vaultwarden без своего домена?
В домашней сети — да, но приложения Bitwarden ждут HTTPS с сертификатом, которому телефон доверяет. Для входа с улицы нужен домен. Самоподписанный сертификат скрипта Proxmox для этого не подходит.
Сколько ресурсов нужно VPS?
Одного ядра, 1 ГБ памяти и около 10 ГБ диска достаточно для семьи. Видеокарта не нужна.
Читайте также
- Безопасность VPS на Ubuntu и Debian: SSH, UFW, Fail2ban
- Syncthing: синхронизация файлов без облака и без белого IP
- SynoCommunity на Synology: qBittorrent, Jellyfin и Syncthing без Docker
- Установка Home Assistant в Proxmox VE
Коротко: один человек и уже работающий Syncthing — оставайтесь на KeePass. Нужны браузер, телефон и семья без конфликтов файла — поднимите Vaultwarden на небольшом VPS, закройте регистрацию и заберите копию каталога vw-data с сервера. Какой вариант у вас уже в ходу, KeePass или свой сервер? Напишите в комментариях.
Без почты и трекеров — только лента обновлений.







