Как развернуть Vaultwarden на VPS: Docker + Caddy и HTTPS
Свой менеджер паролей, совместимый с Bitwarden, на VPS с Docker и Caddy. Установка, защита и резервные копии примерно за десять минут.
Чтобы развернуть Vaultwarden самостоятельно, нужны небольшой VPS, Docker и обратный прокси, который даст HTTPS. По этой инструкции вы получите рабочий менеджер паролей, совместимый с Bitwarden, на своём домене, с закрытой регистрацией и бэкапами, примерно за десять минут.
Что нужно Vaultwarden от VPS
Vaultwarden - лёгкий сервер на Rust, который понимает API Bitwarden. Официальные приложения и расширения Bitwarden подключаются к нему как обычно. Ваше хранилище лежит на сервере, который контролируете вы.
- Размер сервера - для личного или семейного хранилища хватит самого маленького тарифа.
- Домен - клиентам Bitwarden нужен HTTPS, поэтому заранее направьте A-запись домена на IP сервера.
- Открытые порты - 80 и 443 для Caddy, а также SSH для вас.
Правило большого пальца: начните с самого маленького тарифа и увеличивайте его, только если действительно увидите нехватку ресурсов. Для менеджера паролей нагрузка минимальна.
Как это сделать на Neckrez
- Регистрация - достаточно email, без KYC, документов и карты.
- Пополнение баланса - оплата криптовалютой от $15, например USDT в недорогой сети.
- Тариф, локация и ОС - подойдёт тариф Quark с Ubuntu или Debian в ближайшем к вам регионе.
- Около минуты ожидания - сервер запускается с полным root-доступом и выделенным IPv4.
- Почасовая оплата - списания прекращаются, когда вы удаляете сервер.
Направьте домен на IPv4, подключитесь по SSH и установите пакеты:
apt update && apt install -y docker.io docker-compose-v2 caddy
mkdir -p /opt/vaultwarden && cd /opt/vaultwarden
nano docker-compose.ymlВставьте в docker-compose.yml следующее, заменив домен на свой:
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"
Запустите контейнер, а Caddy получит сертификат и начнёт проксировать запросы:
docker compose up -d
echo 'vault.example.com {
reverse_proxy 127.0.0.1:8080
}' > /etc/caddy/Caddyfile
systemctl reload caddyЗакройте регистрацию после первого аккаунта
Откройте https://vault.example.com, создайте аккаунт и отключите регистрацию, чтобы никто посторонний не мог зарегистрироваться на вашем сервере. Членов семьи можно добавить позже, временно включив регистрацию обратно.
sed -i 's/SIGNUPS_ALLOWED: "true"/SIGNUPS_ALLOWED: "false"/' docker-compose.yml
docker compose up -dОдна честная оговорка: теперь вы сами администрируете хранилище паролей. Если сервер потерян, а резервной копии нет, хранилище пропало.
Резервная копия хранилища
Все данные Vaultwarden лежат в папке vw-data. Остановите контейнер, заархивируйте папку, запустите контейнер снова и скопируйте архив с сервера.
cd /opt/vaultwarden
docker compose stop
tar czf /root/vw-backup-$(date +%F).tar.gz vw-data
docker compose startНа серверах Vultr, DigitalOcean и Hetzner можно также создать снимок по запросу, он хранится 7 дней. Это дополнение, а не замена копии в другом месте. Подробнее на странице VPS для криптовалюты.
FAQ
Работают ли официальные приложения Bitwarden с Vaultwarden? Да. На экране входа выберите свой сервер (self-hosted) и введите его адрес.
Можно ли обойтись без домена? На практике нет. Клиентам нужен HTTPS, а Caddy требуется доменное имя, чтобы выпустить сертификат.
Начать
Тарифы Neckrez начинаются от $10 в месяц, оплата почасовая: вы платите, только пока сервер существует. Развернуть сервер и запустить хранилище можно за несколько минут.