VPSРейтинг
БезопасностьМарт 2026 · 12 мин чтения

Vaultwarden на VPS: свой менеджер паролей

Vaultwarden — легковесная open-source реализация сервера Bitwarden на Rust. Все официальные клиенты работают с ней без изменений: браузерные расширения, мобильные приложения, десктоп. Разворачивается за 10 минут на VPS с 512 МБ RAM.

1. Что такое Vaultwarden и зачем хостить самому

Bitwarden — один из лучших менеджеров паролей: open-source, поддерживает все платформы, имеет удобные браузерные расширения. Но облачный сервис bitwarden.com хранит ваши (зашифрованные) данные на американских серверах. Официальная self-hosted версия существует, но требует минимум 4 ГБ RAM и стека .NET + MSSQL.

Vaultwarden — неофициальная реализация серверной части Bitwarden, написанная на Rust. Полностью совместима с официальными клиентами и потребляет в 10–20 раз меньше ресурсов: работает на VPS с 512 МБ RAM.

Данные у вас

Зашифрованное хранилище паролей живёт на вашем VPS. Никаких американских серверов, никакой зависимости от внешнего сервиса.

Официальные клиенты

Браузерные расширения, мобильные приложения iOS/Android и десктоп — всё работает без изменений.

Минимум ресурсов

512 МБ RAM в режиме ожидания. Работает даже на самом дешёвом VPS за 150–200 ₽/мес вместе с другими сервисами.

Шифрование на стороне клиента

Все пароли шифруются AES-256 до отправки на сервер. Vaultwarden хранит только зашифрованный блоб — без вашего мастер-пароля расшифровать данные невозможно даже при физическом доступе к серверу.

2. Vaultwarden vs Bitwarden Cloud vs 1Password

ПараметрVaultwardenBitwarden Cloud1Password
СтоимостьЦена VPS (~200 ₽/мес)Бесплатно / $10/год (Premium)$3/мес
Хранение данныхВаш серверСерверы СШАСерверы США
Open source✅ Rust✅ Сервер + клиенты❌ Закрытый
Клиенты Bitwarden✅ Все✅ Все❌ Свои клиенты
TOTP (2FA)💰 Только Premium
Вложения✅ До 500 МБ (настр.)💰 Только Premium✅ 1 ГБ
Организации/семья💰 Платно💰 $5/мес
Требует VPS✅ Да
Offline-доступ✅ Кеш клиента✅ Кеш клиента✅ Кеш клиента

Кому подходит Vaultwarden

Если у вас уже есть VPS (например, для сайта, бота или VPN) — Vaultwarden запускается рядом практически бесплатно. Функций больше, чем в бесплатном Bitwarden: TOTP, вложения, организации — всё без Premium-подписки.

3. Требования к серверу

Vaultwarden написан на Rust и исключительно нетребователен к ресурсам. Это один из немногих сервисов, который комфортно живёт на самых дешёвых тарифах.

512 МБ RAM

Только Vaultwarden

  • 1 vCPU
  • 512 МБ RAM
  • 5 ГБ диска
  • Личное использование
1–2 ГБ RAM

С другими сервисами

  • 1 vCPU
  • 1–2 ГБ RAM
  • 10 ГБ диска
  • + VPN / бот / сайт
2 ГБ RAM

Семья / команда

  • 2 vCPU
  • 2 ГБ RAM
  • 20 ГБ диска
  • Вложения + несколько пользователей

Обязательны: публичный IP, домен (или поддомен) и HTTPS — браузерные расширения Bitwarden отказываются работать без SSL-сертификата.

4. Установка Docker

Если Docker ещё не установлен — один скрипт решает вопрос.

Установка Docker Engine (Ubuntu 22.04 / 24.04)
curl -fsSL https://get.docker.com | sh

# Запустить и добавить в автозапуск
systemctl enable --now docker

# Проверить версию
docker --version
docker compose version

5. Docker Compose — настройка Vaultwarden

Шаг 1: создать директорию

Рабочая директория для Vaultwarden
mkdir -p ~/vaultwarden && cd ~/vaultwarden

Шаг 2: сгенерировать токен администратора

ADMIN_TOKEN защищает панель администратора по адресу /admin. Сгенерируйте надёжный токен и сохраните его — он понадобится для входа.

Генерация токена администратора
openssl rand -base64 48
# Пример вывода: Pxs5M1ojgVo1DTK2Z/zQ4X45fFgmjuPPy71xB15B+2R6QdVtM10VKnv/TRWasjO1
# Скопируйте и сохраните этот токен

Шаг 3: docker-compose.yml

Замените vault.example.com на свой домен и ВАШ_ТОКЕН на сгенерированную строку:

~/vaultwarden/docker-compose.yml
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:80"
    volumes:
      - ./data:/data
    environment:
      DOMAIN: "https://vault.example.com"
      ADMIN_TOKEN: "ВАШ_ТОКЕН"
      SIGNUPS_ALLOWED: "true"   # После регистрации своего аккаунта — смените на false
      SHOW_PASSWORD_HINT: "false"
      INVITATIONS_ALLOWED: "true"
      LOG_LEVEL: "warn"

127.0.0.1:8080 — важно

Порт привязан только к localhost. Nginx будет проксировать HTTPS-запросы на 8080. Это не позволяет обращаться к Vaultwarden напрямую без SSL.

Шаг 4: запуск

Запустить Vaultwarden
docker compose up -d

# Проверить статус
docker compose ps

# Посмотреть логи
docker compose logs -f vaultwarden

Контейнер стартует за 2–3 секунды. В папке ~/vaultwarden/data/ появится файл базы данных db.sqlite3.

6. Nginx + SSL

HTTPS обязателен: браузерные расширения Bitwarden не подключатся к серверу без валидного сертификата.

Установка Nginx и Certbot

Установить Nginx и Let's Encrypt
apt install nginx certbot python3-certbot-nginx -y

Конфиг Nginx

/etc/nginx/sites-available/vaultwarden
server {
    listen 80;
    server_name vault.example.com;

    location / {
        proxy_pass         http://127.0.0.1:8080;
        proxy_http_version 1.1;

        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;

        # Для вложений (файлы паролей)
        client_max_body_size 128M;
    }
}
Активировать конфиг и получить SSL
ln -s /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

# Получить сертификат (Certbot добавит HTTPS-блок автоматически)
certbot --nginx -d vault.example.com

Certbot перезапустит Nginx с HTTPS. Откройте https://vault.example.com — должна открыться страница создания аккаунта Vaultwarden.

7. Первый вход и закрытие регистрации

1

Создайте аккаунт

Откройте https://vault.example.com, нажмите Create account. Придумайте надёжный мастер-пароль — это единственное, что защищает все ваши данные. Запишите его в надёжном месте.

2

Закройте регистрацию

После создания своего аккаунта запретите регистрацию посторонних. В docker-compose.yml смените:

~/vaultwarden/docker-compose.yml — после регистрации
SIGNUPS_ALLOWED: "false"   # Запретить новые регистрации
Применить изменения
docker compose down && docker compose up -d
3

Панель администратора (опционально)

Перейдите по адресу https://vault.example.com/admin и введите ADMIN_TOKEN. Здесь можно управлять пользователями, приглашать новых по email и просматривать статистику. Закройте эту страницу после использования.

Не забудьте закрыть регистрацию

Пока SIGNUPS_ALLOWED=true, любой человек, который узнает адрес вашего сервера, может создать аккаунт и хранить там свои данные. Это не критично для безопасности (чужие данные зашифрованы), но нежелательно.

8. Подключение клиентов

Во всех официальных клиентах Bitwarden нужно указать адрес вашего сервера вместо bitwarden.com. Это делается один раз при первом входе.

Браузерное расширение (Chrome, Firefox, Edge, Safari)

  1. Установите официальное расширение Bitwarden из магазина браузера
  2. Откройте расширение, нажмите на иконку шестерёнки ⚙ (или Settings) на экране входа
  3. В поле Server URL введите https://vault.example.com
  4. Нажмите Save, затем войдите со своим email и мастер-паролем

Мобильное приложение (iOS / Android)

  1. Установите приложение Bitwarden из App Store / Google Play
  2. На экране входа нажмите Self-hosted или иконку региона 🌍
  3. Введите URL сервера: https://vault.example.com
  4. Войдите с вашими учётными данными

После входа включите автозаполнение в настройках телефона: iOS → Настройки → Пароли → Параметры паролей → Bitwarden. Android → Настройки → Общее управление → Пароли и автозаполнение → Bitwarden.

Десктопное приложение (Windows, macOS, Linux)

  1. Скачайте приложение Bitwarden Desktop с bitwarden.com/download/
  2. В левом верхнем углу нажмите на регион и выберите Self-hosted
  3. Укажите URL сервера и войдите

Импорт из других менеджеров

Bitwarden умеет импортировать из 1Password, LastPass, KeePass, Chrome, Firefox и других. В веб-интерфейсе: Tools → Import data. Поддерживается более 50 форматов.

9. Резервные копии

Все данные Vaultwarden хранятся в папке ~/vaultwarden/data/. Это база SQLite, прикреплённые файлы и RSA-ключи. Если папка сгорит вместе с VPS — вы потеряете все пароли. Обязательно настройте регулярный бэкап.

Ручной бэкап

Создать архив данных Vaultwarden
# Остановить Vaultwarden перед бэкапом БД (для консистентности)
docker compose stop vaultwarden

# Создать архив
tar -czf ~/vaultwarden-backup-$(date +%Y%m%d).tar.gz -C ~/vaultwarden data/

# Запустить обратно
docker compose start vaultwarden

# Проверить размер архива
ls -lh ~/vaultwarden-backup-*.tar.gz

Автоматический бэкап через cron

crontab -e — добавить задачу
# Бэкап каждый день в 3:00
0 3 * * * docker stop vaultwarden && tar -czf ~/backups/vaultwarden-$(date +%Y%m%d).tar.gz -C ~/vaultwarden data/ && docker start vaultwarden

# Удалять архивы старше 30 дней
30 3 * * * find ~/backups/ -name "vaultwarden-*.tar.gz" -mtime +30 -delete
Создать папку для бэкапов
mkdir -p ~/backups

Правило 3-2-1

Хранить бэкапы только на том же VPS — это не бэкап. Настройте копирование на внешнее хранилище: Backblaze B2, Rclone в облако, или хотя бы скачивайте архивы вручную раз в неделю на локальный компьютер.

Восстановление из бэкапа

Восстановление данных
# Остановить контейнер
docker compose down

# Распаковать бэкап (заменит текущие данные)
rm -rf ~/vaultwarden/data/
tar -xzf ~/vaultwarden-backup-YYYYMMDD.tar.gz -C ~/vaultwarden/

# Запустить
docker compose up -d

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

Нужен VPS для Vaultwarden? Достаточно самого дешёвого тарифа

Рейтинг VPS-провайдеров →

Смотрите также