Vaultwarden представляет собой легковесную альтернативу Bitwarden, позволяющую развернуть собственный менеджер паролей на виртуальном частном сервере (VPS) для полного контроля над данными. Установка Vaultwarden на VPS обычно включает использование Docker и Docker Compose, настройку обратного прокси-сервера Nginx и получение SSL-сертификатов через Let's Encrypt. Это решение обеспечивает высокий уровень безопасности и конфиденциальности, так как все чувствительные данные хранятся на вашем собственном оборудовании, а не на сторонних облачных сервисах. По данным на апрель 2026 года, подобная настройка занимает от 30 до 60 минут при наличии базовых навыков работы с Linux.
Самостоятельный хостинг менеджера паролей, такого как Vaultwarden, дает пользователю полный суверенитет над своими учетными данными. В отличие от коммерческих облачных решений, где данные находятся на серверах третьих сторон, собственный VPS гарантирует, что только вы имеете доступ к мастер-ключу шифрования и физическому хранилищу. Это критически важно для тех, кто не доверяет сторонним поставщикам или имеет строгие требования к конфиденциальности.
Почему Vaultwarden на VPS — ваш выбор для паролей?
Решение разместить менеджер паролей на собственном VPS продиктовано стремлением к максимальной безопасности и контролю. В условиях постоянных киберугроз и утечек данных, владение инфраструктурой, на которой хранятся ваши самые ценные учетные данные, становится приоритетом. Vaultwarden, будучи открытым исходным кодом, позволяет любому желающему проверить его код на наличие уязвимостей, что повышает доверие к системе.
Преимущества самостоятельного хостинга
Основное преимущество самостоятельного хостинга заключается в полном контроле над данными. Вы решаете, где и как хранятся ваши зашифрованные пароли, и кто имеет к ним доступ. Это исключает зависимость от политики безопасности стороннего провайдера и потенциальные риски, связанные с его компрометацией. Кроме того, вы можете настраивать Vaultwarden под свои специфические нужды, чего обычно не позволяют облачные сервисы.
Другим важным аспектом является приватность. При использовании собственного сервера, данные о вашем использовании менеджера паролей не собираются и не анализируются сторонними компаниями. Вся телеметрия, логи и метаданные остаются на вашем сервере, под вашим управлением. Это особенно ценно для организаций и частных лиц, для которых конфиденциальность имеет первостепенное значение.
Кто выигрывает от собственного менеджера паролей?
Собственный менеджер паролей на VPS идеально подходит для технических специалистов, небольших команд разработчиков, фрилансеров, а также для любого пользователя, глубоко заботящегося о своей цифровой безопасности. Это также отличное решение для семей, желающих централизовать и безопасно хранить общие учетные данные. Требуется минимальный набор навыков для работы с командной строкой Linux и понимание основ Docker.
Самостоятельное размещение Vaultwarden на VPS позволяет не только повысить безопасность, но и значительно снизить долгосрочные затраты по сравнению с подписками на премиум-планы облачных менеджеров паролей, особенно если вы используете услуги провайдера VPS, такого как Valebyte, предлагающего гибкие тарифные планы.
Сравнение самостоятельного хостинга и облачных сервисов
| Характеристика | Самостоятельный хостинг (Vaultwarden на VPS) | Облачные менеджеры паролей (Bitwarden.com, LastPass) |
|---|---|---|
| Контроль данных | Полный (вы владелец сервера) | Ограниченный (данные на серверах провайдера) |
| Конфиденциальность | Высокая (нет сторонней телеметрии) | Зависит от политики провайдера |
| Стоимость | Стоимость VPS (от 5$/мес), домена | Ежемесячная/годовая подписка |
| Настройка | Высокая гибкость, кастомизация | Ограниченная, по тарифу провайдера |
| Сложность установки | Требует технических навыков (Linux, Docker) | Простая, регистрация аккаунта |
| Обновления | Ручное или автоматическое обновление контейнеров | Автоматические от провайдера |
| Резервное копирование | Полностью под вашим контролем | Зависит от провайдера |
Подготовка виртуального сервера: Базис для Vaultwarden
Прежде чем устанавливать Vaultwarden, необходимо подготовить ваш VPS. Этот этап включает выбор операционной системы, обновление системных пакетов, установку Docker и Docker Compose, а также настройку брандмауэра для обеспечения базовой безопасности. Для этого руководства мы будем использовать Ubuntu 24.04 LTS, выпущенную в апреле 2024 года, как одну из самых популярных и стабильных дистрибутивов для серверов.
Выбор операционной системы и начальная настройка
Рекомендуется использовать свежую установку Ubuntu Server 24.04 LTS. После получения доступа к VPS по SSH, первое, что необходимо сделать, это обновить все системные пакеты до последних версий. Это гарантирует, что у вас есть все последние исправления безопасности и стабильные версии программного обеспечения. Используйте следующие команды:
sudo apt update && sudo apt upgrade -yДалее создайте нового пользователя с ограниченными правами и настройте SSH-ключи для безопасного доступа, отключив аутентификацию по паролю. Это стандартная практика безопасности для любого сервера. Подробное руководство по первичной настройке можно найти в статье Как настроить VPS на Ubuntu 24.04 пошагово.
Установка Docker и Docker Compose
Vaultwarden работает в контейнере Docker, поэтому вам потребуется установить Docker Engine и Docker Compose. Docker Engine позволяет запускать контейнеры, а Docker Compose упрощает управление многоконтейнерными приложениями с помощью одного конфигурационного файла. Установка Docker на Ubuntu 24.04 выполняется следующим образом:
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USERПосле добавления вашего пользователя в группу docker, необходимо выйти из SSH-сессии и зайти снова, чтобы изменения вступили в силу. Это позволит выполнять команды Docker без использования sudo. Вы можете проверить установку, выполнив docker run hello-world.
Для Docker Compose, если вы установили его через apt, он может быть доступен как docker-compose или docker compose (для более новых версий). Убедитесь, что у вас установлена версия 2.x, которая вызывается как docker compose (с пробелом). Документацию по установке Docker Compose можно найти на официальном сайте Docker Docs.
Настройка брандмауэра UFW
Брандмауэр Uncomplicated Firewall (UFW) необходим для ограничения доступа к вашему VPS только по необходимым портам. По умолчанию нам потребуются порты 22 (SSH), 80 (HTTP) и 443 (HTTPS). Включите UFW и разрешите эти порты:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enableПри активации UFW система может спросить подтверждение, введите y и нажмите Enter. Проверить статус UFW можно командой sudo ufw status.
Развертывание Vaultwarden с Docker Compose
Теперь, когда VPS подготовлен, можно приступить к развертыванию Vaultwarden. Использование Docker Compose значительно упрощает этот процесс, позволяя определить все параметры контейнера и его зависимости в одном файле.
Структура проекта и файл docker-compose.yml
Создайте директорию для вашего проекта Vaultwarden, например, vaultwarden, и перейдите в нее. Затем создайте файл docker-compose.yml:
mkdir ~/vaultwarden
cd ~/vaultwarden
nano docker-compose.ymlВ этот файл необходимо добавить следующую конфигурацию. Обратите внимание на переменные окружения, особенно ADMIN_TOKEN, который будет использоваться для доступа к панели администратора. Замените 'ВАШ_СЕКРЕТНЫЙ_ТОКЕН' на надежную случайную строку.
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
WEBSOCKET_ENABLED: 'true'
SIGNUPS_ALLOWED: 'true' # Измените на 'false' после регистрации нужных пользователей
ADMIN_TOKEN: 'ВАШ_СЕКРЕТНЫЙ_ТОКЕН' # Обязательно измените!
DOMAIN: 'https://your.domain.com' # Замените на ваш домен
TZ: 'Europe/Moscow' # Установите ваш часовой пояс
volumes:
- ./vw-data:/data
ports:
- 8000:80
networks:
- vw-network
networks:
vw-network:Убедитесь, что вы заменили 'ВАШ_СЕКРЕТНЫЙ_ТОКЕН' на уникальный и сложный пароль. Переменная SIGNUPS_ALLOWED должна быть установлена в 'false' после того, как все необходимые пользователи зарегистрированы, чтобы предотвратить несанкционированную регистрацию. Также измените DOMAIN на ваш фактический домен и TZ на ваш часовой пояс. Порт 8000:80 означает, что контейнер Vaultwarden слушает на порту 80 внутри себя, а снаружи будет доступен на порту 8000 VPS.
Запуск контейнера Vaultwarden
Сохраните файл docker-compose.yml (Ctrl+O, Enter, Ctrl+X в nano) и запустите контейнер Vaultwarden с помощью следующей команды:
docker compose up -dЭта команда загрузит образ Vaultwarden (если его еще нет), создаст и запустит контейнер в фоновом режиме. Вы можете проверить статус контейнера командой docker ps. Если все прошло успешно, вы увидите контейнер vaultwarden в списке запущенных.
Настройка Nginx как обратного прокси
Хотя Vaultwarden уже работает, он доступен только по порту 8000. Для удобства, безопасности и возможности использования SSL-сертификатов необходимо настроить Nginx в качестве обратного прокси-сервера. Nginx будет принимать входящие запросы на стандартных портах 80 и 443 и перенаправлять их в контейнер Vaultwarden.
Установка и базовая конфигурация Nginx
Если Nginx еще не установлен, выполните следующую команду:
sudo apt install nginx -yПосле установки Nginx запустите его и убедитесь, что он работает:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginxПо умолчанию Nginx устанавливает свой конфигурационный файл в /etc/nginx/nginx.conf, а конфигурации для сайтов размещаются в /etc/nginx/sites-available/ и активируются символическими ссылками из /etc/nginx/sites-enabled/. Более подробную информацию о конфигурации Nginx можно найти в официальной документации Nginx.
Конфигурация Nginx для Vaultwarden
Создайте новый файл конфигурации для вашего домена в директории /etc/nginx/sites-available/, заменив your.domain.com на ваш фактический домен:
sudo nano /etc/nginx/sites-available/your.domain.comДобавьте следующее содержимое в файл, заменив your.domain.com на ваш домен:
server {
listen 80;
listen [::]:80;
server_name your.domain.com;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket support
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
}
}Сохраните файл и создайте символическую ссылку на него из sites-enabled, затем проверьте конфигурацию Nginx и перезагрузите его:
sudo ln -s /etc/nginx/sites-available/your.domain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxЕсли nginx -t не выдает ошибок, ваш Nginx успешно настроен для работы с Vaultwarden. Теперь вы можете попробовать получить доступ к Vaultwarden по HTTP, перейдя по адресу http://your.domain.com.
Безопасность с Let's Encrypt и Certbot
Для обеспечения безопасного соединения между вашими клиентами и сервером Vaultwarden необходимо использовать HTTPS. Let's Encrypt предоставляет бесплатные SSL/TLS-сертификаты, а Certbot автоматизирует процесс их получения и установки с Nginx.
Установка Certbot и получение SSL-сертификата
Установите Certbot и плагин Nginx для Certbot:
sudo apt install certbot python3-certbot-nginx -yПосле установки запустите Certbot для получения и установки сертификата для вашего домена. Certbot автоматически определит конфигурацию Nginx и предложит настроить SSL:
sudo certbot --nginx -d your.domain.comВ процессе Certbot запросит ваш адрес электронной почты для уведомлений и предложит перенаправлять HTTP-трафик на HTTPS. Рекомендуется выбрать перенаправление. После успешного завершения Certbot автоматически обновит ваш конфигурационный файл Nginx и перезагрузит его. Теперь ваш Vaultwarden будет доступен по HTTPS.
Автоматическое обновление сертификатов
Сертификаты Let's Encrypt действительны в течение 90 дней. Certbot автоматически устанавливает задание cron или systemd timer для их автоматического обновления. Вы можете проверить работу автоматического обновления, выполнив тестовый запуск:
sudo certbot renew --dry-runЕсли тестовый запуск проходит без ошибок, ваши сертификаты будут автоматически обновляться до истечения срока действия. Дополнительную информацию об управлении сертификатами можно найти в документации Let's Encrypt.
Первоначальная настройка и администрирование Vaultwarden
После установки и настройки Vaultwarden через Nginx и Let's Encrypt, можно приступать к его использованию и администрированию. Первым делом нужно получить доступ к веб-интерфейсу и, при необходимости, к административной панели.
Доступ к веб-интерфейсу и регистрация
Откройте ваш браузер и перейдите по адресу https://your.domain.com. Вы увидите страницу входа в Bitwarden. Если вы оставили SIGNUPS_ALLOWED: 'true' в файле docker-compose.yml, вы сможете зарегистрировать нового пользователя. После регистрации первого пользователя рекомендуется изменить SIGNUPS_ALLOWED на 'false' и перезапустить контейнер, чтобы предотвратить дальнейшую регистрацию.
cd ~/vaultwarden
nano docker-compose.yml # Измените SIGNUPS_ALLOWED на 'false'
docker compose down
docker compose up -dДля доступа к административной панели перейдите по адресу https://your.domain.com/admin. Вам потребуется ввести ADMIN_TOKEN, который вы указали в docker-compose.yml. В панели администратора вы можете управлять пользователями, их доступом, просматривать статистику и изменять некоторые настройки сервера. Больше информации об администрировании можно найти на Vaultwarden Wiki.
Настройка SMTP для уведомлений (опционально)
Vaultwarden поддерживает отправку электронных писем для подтверждения регистрации, сброса паролей и других уведомлений. Для этого необходимо настроить параметры SMTP в файле docker-compose.yml, добавив соответствующие переменные окружения, такие как SMTP_HOST, SMTP_PORT, SMTP_FROM, SMTP_USERNAME и SMTP_PASSWORD. Это позволит Vaultwarden отправлять почту через внешний SMTP-сервер.
Убедитесь, что ваш VPS имеет достаточно ресурсов для стабильной работы Vaultwarden и Nginx. Хотя Vaultwarden очень легковесен, при значительном количестве пользователей или при одновременном запуске других сервисов на том же VPS, может потребоваться больше оперативной памяти или процессорной мощности. Оценить необходимые ресурсы поможет статья Сколько ресурсов VPS нужно сайту с 50000 посетителями?.
Резервное копирование и восстановление данных Vaultwarden
Регулярное резервное копирование данных является критически важным аспектом для любого сервера, особенно для такого чувствительного, как менеджер паролей. Даже при полной надежности вашего VPS, всегда существует риск аппаратных сбоев, ошибок конфигурации или случайного удаления. Важно иметь стратегию для сохранения и восстановления ваших данных Vaultwarden.
Стратегии бэкапа данных Vaultwarden
Все данные Vaultwarden (база данных SQLite, вложения, конфигурация) хранятся в директории ./vw-data, которая была смонтирована как том Docker. Самый простой способ сделать резервную копию — это скопировать эту директорию. Вы можете остановить контейнер Vaultwarden перед копированием, чтобы гарантировать целостность данных, или использовать команду docker cp.
# Остановить контейнер перед бэкапом (рекомендуется для целостности)
cd ~/vaultwarden
docker compose down
# Создать архив директории с данными
tar -czvf vaultwarden_backup_$(date +%Y-%m-%d_%H-%M-%S).tar.gz vw-data/
# Запустить контейнер обратно
docker compose up -d
# Или использовать docker cp (без остановки контейнера)
# docker cp vaultwarden:/data /path/to/backup/location/vw-data_$(date +%Y-%m-%d_%H-%M-%S)Рекомендуется сохранять резервные копии на отдельном сервере или в облачном хранилище, а не на том же VPS, где работает Vaultwarden. Это защитит ваши данные в случае полного отказа VPS. Изучите возможности использования инструментов, таких как rsync или restic, для автоматизированного инкрементного резервного копирования.
Восстановление из резервной копии
Для восстановления данных из резервной копии вам потребуется остановить контейнер Vaultwarden, удалить текущую директорию vw-data, распаковать архив с резервной копией в ту же директорию, а затем запустить контейнер. Убедитесь, что права доступа к восстановленным файлам соответствуют исходным.
# Остановить контейнер
cd ~/vaultwarden
docker compose down
# Удалить текущие данные (или переместить)
rm -rf vw-data
# Распаковать резервную копию
tar -xzvf vaultwarden_backup_2026-04-29_10-00-00.tar.gz
# Запустить контейнер
docker compose up -dУбедитесь, что вы правильно восстанавливаете все файлы из резервной копии. Официальная документация Docker по команде cp также может быть полезна при работе с файлами внутри контейнеров.
Обслуживание и обновление Vaultwarden
Поддержание Vaultwarden в актуальном состоянии важно для безопасности и доступа к новым функциям. Поскольку Vaultwarden работает в Docker-контейнере, процесс обновления относительно прост и состоит из нескольких команд.
Обновление Docker-образов
Для обновления Vaultwarden до последней версии вам нужно обновить образ Docker, а затем перезапустить контейнер. Это гарантирует, что вы используете самую свежую и безопасную версию приложения. Выполните следующие команды в директории с вашим docker-compose.yml:
cd ~/vaultwarden
docker compose pull # Загружает последнюю версию образа Vaultwarden
docker compose down # Останавливает и удаляет текущий контейнер (данные сохраняются в vw-data)
docker compose up -d # Запускает новый контейнер с обновленным образомПосле выполнения этих команд ваш Vaultwarden будет работать с последней версией образа. Рекомендуется проверять наличие обновлений хотя бы раз в месяц, а также следить за официальными объявлениями о критических исправлениях безопасности.
Мониторинг состояния сервера
Регулярный мониторинг вашего VPS необходим для обеспечения стабильной работы Vaultwarden. Следите за использованием ресурсов (CPU, RAM, диск) с помощью таких инструментов, как htop, glances или grafana. Убедитесь, что дисковое пространство не заканчивается, так как это может привести к сбоям в работе базы данных Vaultwarden.
Также регулярно проверяйте системные журналы (journalctl -u docker, journalctl -u nginx) на предмет ошибок или предупреждений. Настройка уведомлений по электронной почте для критических событий сервера может помочь оперативно реагировать на потенциальные проблемы, обеспечивая бесперебойную работу вашего собственного менеджера паролей.





