О Vaultwarden
Vaultwarden - это реализация API сервера Bitwarden на Rust. Он работает с официальными приложениями и расширениями Bitwarden (браузер, мобильные устройства, десктоп, командная строка) и при этом потребляет очень мало ресурсов, поэтому подходит даже для небольшого VPS. Его используют разработчики, семьи и небольшие команды, которые хотят хранить свои учётные данные на сервере под собственным контролем.
К моменту выдачи сервера установочный скрипт уже развернул Docker и запустил два контейнера через Docker Compose в каталоге /opt/vaultwarden. Vaultwarden слушает только локальный адрес (127.0.0.1:8080), а Caddy публикует веб-интерфейс на порту 443 по HTTPS. Данные хранятся в именованном томе Docker vw_data.
Сертификат самоподписанный (директива Caddy tls internal) и привязан к публичному IP-адресу сервера, поэтому браузер будет показывать предупреждение, пока вы не подключите доменное имя. Регистрация изначально открыта (SIGNUPS_ALLOWED=true): создайте свою учётную запись, а затем закройте регистрацию.
Что можно делать с Vaultwarden
Совместимость с клиентами Bitwarden
Приложения и расширения Bitwarden подключаются к вашему серверу после ввода его URL. Вы продолжаете пользоваться привычными инструментами без сторонних сервисов.
Низкое потребление ресурсов
Vaultwarden написан на Rust и спокойно работает на скромном VPS. На том же сервере остаётся место для других сервисов.
HTTPS через Caddy
Caddy работает в сети хоста и отдаёт интерфейс на порту 443 с самоподписанным сертификатом. Контейнер Vaultwarden напрямую в интернет не выставлен.
Развёртывание через Docker Compose
Вся конфигурация находится в
/opt/vaultwarden/docker-compose.ymlиCaddyfile. Чтобы применить изменения, достаточно выполнитьdocker compose up -d.Данные в отдельном томе
База и вложения хранятся в томе
vw_data, отдельно от контейнера. Образ можно обновлять, не затрагивая ваши хранилища.Управляемая регистрация
Переменная
SIGNUPS_ALLOWEDпозволяет закрыть создание учётных записей, когда все нужные пользователи уже зарегистрированы, чтобы посторонний не смог создать аккаунт на вашем сервере.
Начало работы с Vaultwarden
От заказа до запуска за несколько минут.
- 1
Закажите VPS с Vaultwarden
Выберите Linux VPS (Париж или Франкфурт) с Debian 12, Debian 13 или Ubuntu 20.04, 22.04, 24.04. Отметьте Vaultwarden на вкладке «Applications» в форме заказа.
- 2
Проверьте установку после выдачи
Подождите несколько минут после выдачи сервера: скрипт устанавливает Docker, а затем запускает контейнеры. Подключитесь по SSH и убедитесь, что
vaultwardenиcaddyработают.Bashssh root@SERVER_IP cd /opt/vaultwarden docker compose ps - 3
Создайте основную учётную запись
Откройте https://SERVER_IP в браузере и подтвердите предупреждение о самоподписанном сертификате. Создайте учётную запись, затем закройте регистрацию, чтобы никто другой не мог создать свою.
Bashsed -i 's/SIGNUPS_ALLOWED=true/SIGNUPS_ALLOWED=false/' /opt/vaultwarden/docker-compose.yml cd /opt/vaultwarden && docker compose up -d - 4
Перейдите на домен с валидным HTTPS
Создайте A-запись YOUR_DOMAIN, указывающую на SERVER_IP. В Caddyfile замените блок на YOUR_DOMAIN без
tls internal, укажитеDOMAIN=https://YOUR_DOMAINв docker-compose.yml, откройте порты 80 и 443 и перезапустите контейнеры.Bashcd /opt/vaultwarden nano Caddyfile nano docker-compose.yml ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp docker compose up -d --force-recreate
Сценарии использования Vaultwarden
Личное или семейное хранилище
Пароли, защищённые заметки и коды восстановления вашей семьи хранятся на вашем собственном сервере и доступны со всех устройств.
Доступы небольшой команды
Вы делитесь учётными данными (доступы к серверам, аккаунты SaaS, ключи API) с несколькими коллегами через организации и коллекции Bitwarden.
Замена облачной подписки
Вы уходите от стороннего облачного менеджера паролей, сохраняя тот же клиент Bitwarden, а данные размещаете на VPS в Европе.
Часть набора внутренних сервисов
Вы размещаете хранилище рядом с другими самостоятельно развёрнутыми сервисами на одном VPS: Vaultwarden занимает мало памяти.
Частые вопросы о Vaultwarden
Сертификат создан Caddy (tls internal) для IP-адреса сервера, поэтому он не подписан публичным удостоверяющим центром. Его можно принять, чтобы создать учётную запись. Для постоянной работы подключите доменное имя и позвольте Caddy получить валидный сертификат.
Подробнее о Vaultwarden
Файлы и службы, которые стоит знать
Всё находится в /opt/vaultwarden: скрипт install-vaultwarden.sh, файл docker-compose.yml и Caddyfile. Три тома Docker: vw_data (ваши данные), caddy_data (сертификаты) и caddy_config. Оба контейнера перезапускаются автоматически (restart: always).
Использование доменного имени
Сертификат, выданный при установке, самоподписанный и привязан к IP-адресу. Мобильные приложения и некоторые расширения могут отказаться его принимать, поэтому для ежедневной работы лучше использовать домен с валидным сертификатом. Если у вас есть доменное имя (см. наши доменные имена), минимальный Caddyfile выглядит так:
YOUR_DOMAIN {
reverse_proxy 127.0.0.1:8080
}
После этого Caddy сможет получить публичный сертификат при условии, что DNS указывает на сервер, а порты 80 и 443 доступны. После изменения выполните docker compose restart caddy. Не забудьте привести в соответствие переменную DOMAIN у Vaultwarden.
Резервные копии
Копируйте том vw_data: в нём находятся база SQLite, ключи и вложения. Точное имя тома зависит от каталога проекта, проверьте его командой docker volume ls (скорее всего, он называется vaultwarden_vw_data).
docker run --rm -v vaultwarden_vw_data:/data -v /root:/backup alpine tar czf /backup/vw-backup.tgz -C /data .
Затем скопируйте архив за пределы сервера. Копия, оставленная на том же VPS, не защитит вас от потери самой машины. Автоматизировать этот шаг помогут материалы из раздела /learn.
Обновления
Используется образ vaultwarden/server:latest. Чтобы перейти на последнюю версию, сначала сделайте резервную копию, а затем выполните:
cd /opt/vaultwarden
docker compose pull
docker compose up -d
