Блог и Новости is*hosting - Хостинг-провайдер Нового Поколения

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

Written by Александра И. | 30.06.2026 8:28:50

Все пароли — на вашем сервере, а не в чужом облаке. Работает с официальными Bitwarden-приложениями на всех устройствах. Поднимается за 15 минут.

Vaultwarden — это open-source реализация сервера Bitwarden. Делает всё то же самое: синхронизирует пароли между устройствами, генерирует стойкие пароли, хранит заметки и данные карт. Но запускается в одном Docker-контейнере и в простое ест около 30 МБ RAM. Официальный сервер Bitwarden занимает 11 контейнеров и принципиально больше ресурсов.

Мы разворачивали Vaultwarden на VPS is*hosting. Гайд — каждый шаг, включая одну ошибку конфига, которую мы допустили, и как её исправили.

Что понадобится

  • VPS is*hosting (хватит тарифа Lite)
  • Домен или бесплатный поддомен DuckDNS — Vaultwarden требует HTTPS
  • Около 15 минут

Шаг 1. Заказать VPS

Заходите на is*hosting и заказывайте тариф Lite VPS:

  • CPU: 1 vCPU
  • RAM: 1 ГБ
  • Диск: 20 ГБ NVMe
  • ОС: Ubuntu 24
  • Локация: для хранилища паролей выбирайте по юрисдикции, а не только по пингу. У is*hosting можно запустить VPS в 40+ локациях под одним аккаунтом.
  • Цена: $6.99/мес, или $5.94/мес при оплате на год.

Vaultwarden очень лёгкий — около 30 МБ RAM в простое. Тариф Lite справляется без проблем. Если планируете запускать на том же VPS другие сервисы, берите тариф с запасом (например, как мы поставили Hermes на том же сервере).

Почему именно VPS, а не ноутбук или бесплатный тир? Менеджер паролей должен быть доступен круглосуточно, иначе синхронизация ломается в самый неудобный момент. Плюс это данные, которые нельзя потерять из-за OOM-kill на соседнем контейнере. Тарифы is*hosting — фиксированные цены, KVM на NVMe, бесплатные еженедельные бэкапы и инженеры в поддержке, а не скрипт первой линии.

После оплаты по готовности сервера вам на почту придут IP-адрес и root-пароль. Сохраните оба.

VPS

VPS Lite от $5.94/мес: 1 vCPU, 1 ГБ RAM, 20 ГБ NVMe в 40+ локациях, с бесплатными еженедельными бэкапами — этого хватит на свой Vaultwarden.

Выбрать тариф

Шаг 2. Подключиться по SSH

  • Mac: откройте Terminal (Cmd+Space → «Terminal» → Enter).
  • Windows: скачайте Tabby или используйте PowerShell.
ssh root@ВАШ_IP

Введите пароль (он не отображается на экране — это нормально). Когда увидите root@server:~# — вы внутри. Хотите вход по ключу вместо пароля? Гайд по настройке SSH — займёт пять минут.

Шаг 3. Установить Docker

curl -fsSL https://get.docker.com | bash

Подождите 1-2 минуты.

Шаг 4. Создать и запустить Vaultwarden

Создайте директорию и файл Docker Compose:

mkdir /root/vaultwarden
nano /root/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

Сохраните: Ctrl+O → Enter → Ctrl+X.

Запустите:

cd /root/vaultwarden
docker compose up -d

Docker скачает образ (около 30 секунд). Вы увидите что-то вроде:

✔ Image vaultwarden/server:latest  Pulled
✔ Network vaultwarden_default      Created
✔ Container vaultwarden            Started

Проверьте, что работает:

curl -s http://localhost:8080 | head -5

Если в ответ пришёл HTML, то всё запущено.

Обратите внимание на bind: 127.0.0.1:8080:80 держит Vaultwarden на loopback — он доступен только через Caddy по HTTPS. Если написать просто "8080:80" (без привязки к 127.0.0.1), хранилище откроется по plain HTTP на публичном IP, а для менеджера паролей это дыра. На нашем Lite-сервере docker stats --no-stream показал контейнер в простое: ~28 МБ, один процесс, никакого database-сервера.

Шаг 5. Настроить домен и HTTPS

Vaultwarden требует HTTPS. Без него веб-хранилище не даст создать аккаунт. Нужен домен и SSL-сертификат.

Используйте DuckDNS (бесплатно):

  • Зайдите на duckdns.org, войдите через Google
  • Создайте поддомен (например, myvault) — получите myvault.duckdns.org
  • Пропишите IP вашего VPS

Установите Caddy на VPS, он после сам занимается SSL:

apt install -y caddy

Настройте Caddy:

nano /etc/caddy/Caddyfile

Очистите файл (Ctrl+K пока не пусто) и вставьте:

ВАШ_ДОМЕН.duckdns.org {
    reverse_proxy localhost:8080
}

Замените ВАШ_ДОМЕН.duckdns.org на реальный домен. Сохраните, перезапустите:

systemctl restart caddy

Подождите 10-15 секунд. Caddy получит SSL-сертификат от Let's Encrypt автоматически.

Откройте файрвол. Сначала разрешите SSH. Если включить ufw с открытым только портом 443, вы заблокируете себе доступ к серверу:

ufw allow OpenSSH
ufw allow 443/tcp
ufw enable
ufw status

Откройте https://ВАШ_ДОМЕН.duckdns.org в браузере. Должна появиться страница входа Vaultwarden.

Следите за номером порта. Самая частая ошибка — Caddy смотрит не на тот порт. Vaultwarden работает на порту 8080. Если на этом же VPS есть другие сервисы, убедитесь, что каждый блок Caddy указывает на правильный порт. Симптом ошибки: 502 Bad Gateway или connection refused в логах Caddy.

Шаг 6. Создать аккаунт

Нажмите Create Account на странице Vaultwarden. Введите:

  • Email-адрес
  • Мастер-пароль (запомните его! Если потеряете, данные восстановить невозможно)
  • Подтверждение мастер-пароля

Нажмите Create Account.

Отключите публичную регистрацию сразу после создания аккаунта — не оставляйте сервер открытым для посторонних. Добавьте переменную окружения в Docker Compose:

nano /root/vaultwarden/docker-compose.yml

Добавьте блок environment:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      - SIGNUPS_ALLOWED=false
    ports:
      - "127.0.0.1:8080:80"
    volumes:
      - ./data:/data

После перезапустите:

cd /root/vaultwarden && docker compose up -d

Шаг 7. Подключить устройства

Vaultwarden полностью совместим с официальными Bitwarden-приложениями:

  • Браузер: установите расширение Bitwarden для Chrome, Firefox, Safari или Edge
  • Телефон: установите Bitwarden из App Store или Google Play
  • Десктоп: скачайте десктопное приложение Bitwarden

В каждом приложении перед входом:

  1. Нажмите на шестерёнку или найдите Self-hosted / Self-hosted environment
  2. Введите URL вашего сервера: https://ВАШ_ДОМЕН.duckdns.org
  3. Сохраните, затем войдите с email и мастер-паролем

Все пароли синхронизируются между устройствами через ваш сервер.

Траблшутинг

502 Bad Gateway

Caddy не может достучаться до Vaultwarden. Проверьте:

Контейнер запущен?

docker ps

Vaultwarden должен быть в списке. Если нет:

cd /root/vaultwarden && docker compose up -d

Caddy смотрит на правильный порт?

cat /etc/caddy/Caddyfile

В блоке Vaultwarden должно быть reverse_proxy localhost:8080. Не 7788, не 80 — 8080.

После исправления перезапустите Caddy:

systemctl restart caddy

«An error has occurred» при создании аккаунта

Вы заходите по http:// вместо https://. Веб-хранилище требует HTTPS для всех операций с аккаунтом. Настройте Caddy с доменом (Шаг 5).

Bitwarden-приложение не подключается

  • Убедитесь, что в поле self-hosted URL введено https:// (с протоколом)
  • Проверьте, открыт ли порт 443: ufw allow 443/tcp
  • Сначала проверьте из браузера телефона: откройте https://ВАШ_ДОМЕН. Если веб-хранилище загрузилось, приложение тоже заработает

Полезные команды

cd /root/vaultwarden && docker compose up -d      # запустить
cd /root/vaultwarden && docker compose down        # остановить
cd /root/vaultwarden && docker compose restart     # перезапустить
docker logs vaultwarden --tail 20                  # посмотреть логи
docker ps                                          # статус контейнеров

Бэкапы

Пароли лежат в /root/vaultwarden/data/. Бэкапьте регулярно:

cp -r /root/vaultwarden/data /root/vaultwarden-backup-$(date +%Y%m%d)

Для автоматического бэкапа добавьте cron-задачу:

crontab -e

Добавьте строку:

0 3 * * * cp -r /root/vaultwarden/data /root/vaultwarden-backup-$(date +\%Y\%m\%d)

Бэкап будет создаваться каждый день в 3:00.

Здесь работают два уровня защиты. is*hosting включает бесплатные еженедельные бэкапы на всех тарифах (полный снапшот сервера). Cron-копия выше — быстрый целевой слой: это только данные хранилища, восстановление одной командой, а не откат всего сервера. Держите оба.

Что получилось

  • Свой менеджер паролей, работает 24/7
  • HTTPS через Caddy + бесплатный домен
  • Совместимость со всеми Bitwarden-приложениями (браузер, телефон, десктоп)
  • Все данные на вашем сервере, а не в чьём-то облаке
  • ~30 МБ RAM — работает на самом дешёвом тарифе VPS

Что дальше

  • Импорт паролей — Vaultwarden поддерживает импорт из Bitwarden, LastPass, 1Password, Chrome, Firefox и десятков других менеджеров
  • Включить 2FA — двухфакторная аутентификация для хранилища в Account Settings
  • Настроить admin-панель — добавьте ADMIN_TOKEN в окружение Docker Compose. Сначала сгенерируйте токен: openssl rand -base64 48. Панель закрыта только этим токеном, поэтому не включайте её без него
  • Расшарить пароли — создайте Organization, чтобы делиться паролями с командой или семьёй

Документация: github.com/dani-garcia/vaultwarden/wiki

FAQ

Vaultwarden такой же безопасный, как официальный сервер Bitwarden?

Хранилище шифруется мастер-паролем на стороне клиента — до того, как что-то попадает на сервер. Шифрование одинаковое вне зависимости от того, какой сервер хранит данные. Разница — в серверном коде: Vaultwarden — это реализация от сообщества, не официальный код Bitwarden. Держите HTTPS включённым, отключите открытую регистрацию, защитите admin-токен и поверхность атаки будет маленькой.

Официальные Bitwarden-приложения работают с ним?

Да, расширение для браузера, мобильные приложения и десктоп-клиент подключаются без каких-либо правок. Перед входом укажите URL вашего сервера в поле self-hosted.

Нужен ли платный домен?

Нужен HTTPS, но не обязательно платный домен. Бесплатный поддомен DuckDNS работает нормально, и Caddy выпускает сертификат автоматически.

Где запускать

Vaultwarden работает на самом дешёвом тарифе is*hosting. Тариф VPS Lite (1 vCPU / 1 GB RAM / 20 GB NVMe) — $6.99/мес или $5.94/мес при оплате на год — доступен в 40+ локациях. Выберите юрисдикцию, где хотите хранить пароли, задеплойте и подключите Bitwarden-приложения.