bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Установка и настройка Vaultwarden на VPS: селф-хостинг

calendar_month May 12, 2026 schedule 9 хв. читання visibility 695 переглядів
Установка и настройка Vaultwarden на VPS: селф-хостинг менеджера паролей с Docker и SSL
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Встановлення та налаштування Vaultwarden на VPS: селф-хостинг менеджера паролів з Docker та SSL

TL;DR

У цьому посібнику розглядається процес розгортання Vaultwarden (легкої реалізації Bitwarden на Rust) на віртуальному сервері під управлінням Ubuntu 24.04/26.04. Ми налаштуємо Docker-контейнери, забезпечимо автоматичне отримання SSL-сертифікатів через Caddy та організуємо систему регулярного резервного копіювання. Підсумком стане повністю приватний, захищений менеджер паролів, доступний на всіх ваших пристроях без абонентської плати та обмежень хмарних провайдерів.

  • Стек: Docker, Docker Compose, Caddy (Reverse Proxy), Vaultwarden.
  • Безпека: Автоматичний HTTPS (Let's Encrypt), Fail2ban, ізоляція контейнерів.
  • Складність: Середня (потрібні базові навички роботи в терміналі Linux).
  • Час виконання: 30–45 хвилин.
  • Результат: Власний сервер паролів з підтримкою 2FA, вкладень та організації груп.
rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

1. Що ми налаштовуємо і навіщо

Схема: 1. Что мы настраиваем и зачем
Схема: 1. Що ми налаштовуємо і навіщо

У 2026 році питання безпеки особистих даних стоїть гостріше, ніж будь-коли. Популярні хмарні менеджери паролів (LastPass, 1Password, Bitwarden Cloud) залишаються мішенями для масштабних хакерських атак. Селф-хостинг — це спосіб повернути контроль над своїми секретами. Ми будемо встановлювати Vaultwarden.

Vaultwarden — це альтернативна реалізація API Bitwarden, написана мовою Rust. Вона повністю сумісна з усіма офіційними додатками Bitwarden (iOS, Android, розширення для браузерів, десктоп), але при цьому споживає в десятки разів менше оперативної пам'яті, ніж оригінальний сервер на .NET. Це робить його ідеальним кандидатом для запуску на недорогому VPS.

Що ви отримаєте в результаті:

  • Повний контроль над базою даних паролів.
  • Відсутність обмежень на кількість пристроїв і користувачів.
  • Підтримку функцій Premium-версії Bitwarden (2FA через YubiKey, TOTP-генератор, звіти про безпеку) абсолютно безкоштовно.
  • Синхронізацію між усіма девайсами через ваш власний домен.

Альтернативою є використання офіційного Bitwarden Unified або хмарних версій, але Vaultwarden виграє за рахунок продуктивності та простоти обслуговування на малих і середніх інсталяціях.

2. Який VPS-конфіг потрібен під цю задачу

Схема: 2. Какой VPS-конфиг нужен под эту задачу
Схема: 2. Який VPS-конфіг потрібен під цю задачу

Vaultwarden вкрай невимогливий до ресурсів. Основне навантаження створює не сам додаток, а супутні сервіси: Docker-демон та Reverse Proxy. Для комфортної роботи системи на 5-10 користувачів достатньо мінімальних характеристик.

Ресурс Мінімальні вимоги Рекомендовані вимоги
Процесор (CPU) 1 ядро (Shared) 1-2 ядра (Dedicated thread)
Оперативна пам'ять (RAM) 512 МБ 1-2 ГБ (для стабільної роботи Docker та кешування)
Диск (SSD/NVMe) 10 ГБ 20 ГБ+ (з урахуванням бекапів та логів)
ОС Ubuntu 22.04 LTS Ubuntu 24.04 / 26.04 LTS або Debian 12

Якщо ви плануєте використовувати Vaultwarden тільки для себе і сім'ї, можна взяти VPS початкового рівня. Цього буде більш ніж достатньо для миттєвого відгуку інтерфейсу. Якщо ж передбачається зберігання великої кількості вкладень (скани документів, ключі), варто звернути увагу на об'єм дискового простору або можливість підключення зовнішнього об'єктного сховища (S3).

Локація сервера: Оскільки затримка (latency) критична для синхронізації мобільних додатків, вибирайте дата-центр ближче до вашого основного місця проживання. Однак, враховуючи малий об'єм даних, що передаються, навіть сервер на іншому континенті буде працювати прийнятно.

Dedicated vs VPS: Для менеджера паролів виділений сервер (dedicated) є надмірним, якщо тільки ви не розгортаєте інфраструктуру на сотні співробітників компанії з жорсткими вимогами до ізоляції ресурсів. Для 99% задач віртуалізації KVM на VPS достатньо.

3. Підготовка сервера

Схема: 3. Подготовка сервера
Схема: 3. Підготовка сервера

Перш ніж приступати до встановлення, необхідно базово захистити сервер. Ми припускаємо, що у вас є свіжа установка Ubuntu 24.04/26.04.

Першим ділом оновимо індекси пакетів і саму систему:


sudo apt update && sudo apt upgrade -y

Створимо нового користувача з правами sudo, щоб не працювати під root (замініть user на ваше ім'я):


adduser user
usermod -aG sudo user

Налаштуємо базовий брандмауер (UFW). Нам потрібно відкрити порти для SSH, HTTP і HTTPS:


sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Встановимо Fail2ban для захисту від брутфорс-атак на SSH:


sudo apt install fail2ban -y

Конфігурація за замовчуванням вже захищає SSH, блокуючи IP після декількох невдалих спроб входу. Це критично важливо для сервера, на якому зберігаються ваші паролі.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

4. Встановлення Docker і необхідних утиліт

Схема: 4. Встановлення Docker і необхідних утиліт
Схема: 4. Встановлення Docker і необхідних утиліт

Vaultwarden офіційно розповсюджується у вигляді Docker-образу, що значно спрощує його розгортання та оновлення. Ми будемо використовувати сучасний метод встановлення через офіційний репозиторій Docker.

Видалимо старі версії, якщо вони були:


for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Встановимо залежності та додамо GPG-ключ Docker:


sudo apt update
sudo apt install ca-certificates curl gnupg -y
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Додамо репозиторій в джерела apt:


echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update

Тепер встановимо сам Docker і плагін Docker Compose:


sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Додамо нашого користувача до групи docker, щоб запускати контейнери без sudo (потрібен перезахід в сесію):


sudo usermod -aG docker $USER

5. Розгортання Vaultwarden через Docker Compose

Схема: 5. Розгортання Vaultwarden через Docker Compose
Схема: 5. Розгортання Vaultwarden через Docker Compose

Створимо робочу директорію для нашого проєкту. Це допоможе тримати всі конфіги і дані в одному місці, що спрощує бекап.


mkdir ~/vaultwarden && cd ~/vaultwarden

Створимо файл docker-compose.yml. В цьому файлі ми опишемо два сервіси: сам Vaultwarden і Caddy, який буде виступати в ролі веб-сервера і менеджера SSL-сертифікатів.


nano docker-compose.yml

Вставте наступний вміст (уважно вивчіть коментарі):


services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - SIGNUPS_ALLOWED=true # Дозволити реєстрацію (вимкнемо після створення акаунту)
      - ADMIN_TOKEN=your_strong_random_token # Токен для доступу до адмін-панелі
      - DOMAIN=https://pass.yourdomain.com # Ваш домен
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2-alpine
    container_name: caddy
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./caddy-data:/data
      - ./caddy-config:/config
    depends_on:
      - vaultwarden
Важливо: Замініть your_strong_random_token на довгий випадковий рядок. Ви можете згенерувати його командою openssl rand -base64 32. Цей токен дозволить вам заходити в панель управління сервером.

6. Налаштування Reverse Proxy і SSL через Caddy

Схема: 6. Налаштування Reverse Proxy і SSL через Caddy
Схема: 6. Налаштування Reverse Proxy і SSL через Caddy

Caddy — це сучасний веб-сервер, який автоматично отримує і оновлює SSL-сертифікати від Let's Encrypt або ZeroSSL. Це позбавляє нас від необхідності вручну налаштовувати certbot і cron-завдання.

Створимо файл конфігурації Caddyfile в тій же директорії:


nano Caddyfile

Додайте в нього наступні рядки (замініть pass.yourdomain.com на ваш реальний домен):


pass.yourdomain.com {
    # Логування (опціонально)
    log {
        output file /data/access.log
    }

    # Проксування запитів до контейнера Vaultwarden
    reverse_proxy vaultwarden:80 {
       # Налаштування заголовків для коректної роботи WebSocket (потрібно для миттєвої синхронізації)
       header_up X-Real-IP {remote_host}
    }
}

Перед запуском переконайтеся, що ваш A-запис домену в панелі управління DNS вказує на IP-адресу вашого VPS. Тепер запускаємо всю зв'язку:


docker compose up -d

Docker скачає образи і запустить контейнери. Caddy автоматично зв'яжеться з Let's Encrypt і випустить сертифікат. Через 1-2 хвилини ваш менеджер паролів буде доступний за адресою https://pass.yourdomain.com.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

7. Тонке налаштування і панель адміністратора

Схема: 7. Тонке налаштування і панель адміністратора
Схема: 7. Тонке налаштування і панель адміністратора

Після першого входу і реєстрації свого аккаунту, вкрай рекомендується обмежити реєстрацію нових користувачів, щоб сторонні не могли використовувати ваш сервер.

Перейдіть до панелі адміністратора за адресою: https://pass.yourdomain.com/admin. Для входу використайте ADMIN_TOKEN, який ви вказали в docker-compose.yml.

Рекомендовані налаштування в адмін-панелі:

  • General settings: Вимкніть "Allow new signups", якщо ви вже створили всі потрібні акаунти.
  • SMTP Settings: Налаштуйте відправку пошти (наприклад, через SendGrid, Mailgun або особисту поштову скриньку). Це необхідно для верифікації e-mail та отримання повідомлень про нові входи.
  • Security settings: Увімкніть "Duo" або "YubiKey", якщо плануєте використовувати апаратні ключі.

Щоб зміни набули чинності (якщо ви змінюєте їх через файл, а не через адмінку), потрібно перезапустити контейнер:


docker compose up -d --force-recreate

8. Бекапи та обслуговування

Схема: 8. Бекапи та обслуговування
Схема: 8. Бекапи та обслуговування

База даних Vaultwarden за замовчуванням зберігається в SQLite (файл db.sqlite3 в папці vw-data). Це зручно, так як для бекапу достатньо скопіювати один файл. Однак робити це потрібно правильно, щоб не отримати "битий" знімок під час запису в базу.

Простий скрипт для бекапу:

Створимо скрипт backup.sh:


#!/bin/bash
BACKUP_DIR="/home/user/backups"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
SOURCE_DIR="/home/user/vaultwarden/vw-data"

mkdir -p $BACKUP_DIR

# Використовуємо sqlite3 .backup для безпечного копіювання запущеної бази
sqlite3 $SOURCE_DIR/db.sqlite3 ".backup '$BACKUP_DIR/db_$TIMESTAMP.sqlite3'"

# Архівуємо вкладення та конфіги
tar -czf $BACKUP_DIR/attachments_$TIMESTAMP.tar.gz $SOURCE_DIR/attachments

# Видаляємо старі бекапи (старше 30 днів)
find $BACKUP_DIR -type f -mtime +30 -delete

Не забудьте встановити sqlite3 (sudo apt install sqlite3) та дати права на виконання скрипту (chmod +x backup.sh). Налаштуйте виконання за розкладом через crontab -e:


0 3   * /home/user/vaultwarden/backup.sh

Цей крон буде робити бекап кожну ніч о 3:00. Ідеально — налаштувати відправку цих файлів на інше сховище (S3, Google Drive або інший VPS) за допомогою rclone.

9. Troubleshooting + FAQ

Помилка SSL: Caddy не може отримати сертифікат

Перевірте, чи відкриті порти 80 та 443 в UFW (sudo ufw status). Також переконайтеся, що домен правильно делегований та DNS-записи оновились. В логах Caddy можна побачити точну причину: docker logs caddy.

Vaultwarden споживає занадто багато пам'яті

Зазвичай Vaultwarden споживає близько 50-100 МБ RAM. Якщо ви бачите значення вище 500 МБ, перевірте кількість активних WebSocket-з'єднань або логи на наявність помилок циклічного перезавантаження. Для маленьких VPS переконайтеся, що у вас ввімкнено Swap-файл.

Як оновити Vaultwarden до останньої версії?

Оновлення виконується трьома командами:


docker compose pull
docker compose up -d
docker image prune -f

Який VPS-конфіг мінімально підійде?

Мінімально достатньо 1 ядра CPU та 512 МБ RAM. Однак для комфортної роботи ОС Ubuntu та Docker у 2026 році рекомендується мати хоча б 1 ГБ оперативної пам'яті. Це запобіжить спрацюванню OOM Killer (Out of Memory) при оновленні пакетів або важких операціях з базою даних.

Що вибрати — VPS чи dedicated для цієї задачі?

Для селф-хостингу менеджера паролів VPS — оптимальний вибір. Ви отримуєте гнучкість, легке масштабування та можливість робити знімки (snapshots) всієї системи. Dedicated сервер потрібен тільки в разі, якщо ви параноїдально ставитесь до сусідства з іншими віртуальними машинами на одному гіпервізорі або якщо кількість користувачів перевищує 500 осіб.

Забув пароль адміністратора (Admin Token), що робити?

Ви можете змінити його в docker-compose.yml в розділі environment, після чого виконати docker compose up -d. Якщо ви втратили основний майстер-пароль від акаунту — відновити його неможливо, так як сервер не зберігає його у відкритому вигляді (zero-knowledge encryption). Тільки імпорт з бекапу в новий акаунт.

Чи можна запустити Vaultwarden без домену?

Технічно — так, за IP-адресою. Але сучасні браузери та програми Bitwarden блокують роботу криптографічних API (Web Crypto API) на незахищених з'єднаннях (без HTTPS). Тому наявність домену та SSL-сертифіката є обов'язковою вимогою.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

10. Висновки та наступні кроки

Ми успішно розгорнули захищений, приватний менеджер паролів на власному сервері. Тепер у вас є інструмент, який не залежить від політики сторонніх компаній та доступний тільки вам. Використання Docker та Caddy робить цю установку максимально сучасною та простою в обслуговуванні.

Ваші наступні кроки:

  • Встановіть розширення Bitwarden в браузер та мобільний додаток на смартфон. В налаштуваннях додатків вкажіть адресу вашого сервера (Self-hosted URL).
  • Увімкніть двофакторну аутентифікацію (2FA) для свого основного акаунту.
  • Імпортуйте паролі зі старого менеджера (Vaultwarden підтримує імпорт з CSV/JSON практично всіх популярних сервісів).
  • Налаштуйте експорт бекапів в хмарне сховище для максимального збереження даних.

Пам'ятайте, що тепер відповідальність за безпеку даних лежить на вас: регулярно оновлюйте систему (apt update && apt upgrade) та слідкуйте за актуальністю Docker-образів.

Поділитися цим записом:

установка и настройка vaultwarden на vps: селф-хостинг менеджера паролей с docker и ssl
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.