Установка Vaultwarden: Самостоятельно размещаемый менеджер паролей
Установка Vaultwarden (совместимого с Bitwarden) через Docker, настройка HTTPS, панель администратора, управление организациями и коллекциями, использование с клиентами Bitwarden.
Содержание
Установка Vaultwarden: Самостоятельно размещаемый менеджер паролей
Vaultwarden — это лёгкая альтернатива официальному серверу Bitwarden, написанная на Rust и поддерживаемая сообществом. По сравнению с официальным сервером Bitwarden он потребляет значительно меньше ресурсов и полностью совместим со всеми клиентами Bitwarden (веб, десктоп, мобильный, расширение браузера). Размещая его на собственном сервере, вы сохраняете полный контроль над своими паролями.
Что такое Vaultwarden?
Vaultwarden (ранее bitwarden_rs) — это проект с открытым исходным кодом, который переосмысляет API Bitwarden на Rust. Ключевые особенности:
- Низкое потребление ресурсов: Работает с 512 МБ ОЗУ
- Совместимость с Bitwarden: Поддерживаются все официальные клиенты Bitwarden
- Поддержка организаций: Бесплатное создание организаций и коллекций
- Поддержка TOTP: Двухфакторная аутентификация
- Web Vault: Веб-интерфейс, доступный через браузер
- Функция Send: Безопасный обмен файлами и текстом
Системные требования
- Сервер с установленными Docker и Docker Compose
- Минимум 512 МБ ОЗУ
- Действительное доменное имя (обязательно для HTTPS)
- SSL-сертификат (рекомендуется Let's Encrypt)
Установка с Docker
Создание docker-compose.yml
version: '3.8'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: "надёжный-токен-администратора"
WEBSOCKET_ENABLED: "true"
LOG_LEVEL: "warn"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"
- "127.0.0.1:3012:3012"
# Запустить контейнер
docker compose up -d
# Проверить логи
docker logs vaultwarden -f
Используйте надёжное и случайное значение для ADMIN_TOKEN. Безопасный токен можно сгенерировать командой openssl rand -base64 48.
Генерация токена администратора
# Сгенерировать безопасный токен администратора
openssl rand -base64 48
# Более безопасный токен с хешем Argon2 (рекомендуется)
docker run --rm -it vaultwarden/server /vaultwarden hash --preset owasp
Настройка Nginx Reverse Proxy и SSL
Поскольку Vaultwarden требует HTTPS, настройка обратного прокси Nginx обязательна.
Конфигурация Nginx
server {
listen 80;
server_name vault.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name vault.example.com;
ssl_certificate /etc/letsencrypt/live/vault.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vault.example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
client_max_body_size 128M;
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
location /notifications/hub {
proxy_pass http://127.0.0.1:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_pass http://127.0.0.1:8080;
}
}
SSL-сертификат Let's Encrypt
# Установить Certbot
apt install certbot python3-certbot-nginx -y
# Получить SSL-сертификат
certbot --nginx -d vault.example.com
# Тест автоматического обновления
certbot renew --dry-run
Настройка панели администратора
Доступ к панели администратора по адресу https://vault.example.com/admin.
Важные настройки администратора
# Отключить регистрацию после настройки
SIGNUPS_ALLOWED=false
# Разрешить регистрацию только для определённых доменов
SIGNUPS_DOMAINS_WHITELIST=example.com,company.org
# Система приглашений
INVITATIONS_ALLOWED=true
# Верификация email
SIGNUPS_VERIFY=true
Настройка SMTP для email
environment:
SMTP_HOST: "smtp.gmail.com"
SMTP_FROM: "vault@example.com"
SMTP_PORT: "587"
SMTP_SECURITY: "starttls"
SMTP_USERNAME: "vault@example.com"
SMTP_PASSWORD: "пароль-приложения"
Управление пользователями
Приглашение пользователей
Из панели администратора перейдите в Users → Invite User для отправки приглашений по email.
# Пригласить пользователя через CLI
docker exec vaultwarden /vaultwarden invite --email user@example.com
Создание организаций и коллекций
Организации в Vaultwarden бесплатны (платные в официальном Bitwarden):
- Войдите в веб-хранилище
- Организации → Новая организация
- Введите название организации и платёжный email
- Используйте Коллекции для категоризации паролей
- Приглашайте участников и назначайте роли (Admin, Manager, User, Custom)
Подключение клиентов Bitwarden
Расширение браузера
- Установите расширение Bitwarden (Chrome, Firefox, Edge)
- Нажмите URL сервера на экране входа
- Введите
https://vault.example.com - Войдите в свою учётную запись
Мобильное приложение
1. Откройте приложение Bitwarden
2. Нажмите на выбор региона на экране входа
3. Выберите "Self-hosted"
4. URL сервера: https://vault.example.com
5. Сохраните и войдите
Резервное копирование
# Резервное копирование данных Vaultwarden
tar -czf vaultwarden-backup-$(date +%Y%m%d).tar.gz ./vw-data/
# Скрипт автоматического резервного копирования
cat > /etc/cron.daily/vaultwarden-backup << 'EOF'
#!/bin/bash
BACKUP_DIR="/backups/vaultwarden"
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup-$(date +%Y%m%d-%H%M%S).tar.gz /opt/vaultwarden/vw-data/
find $BACKUP_DIR -name "backup-*.tar.gz" -mtime +30 -delete
EOF
chmod +x /etc/cron.daily/vaultwarden-backup
Vaultwarden отлично работает на серверах REXE VPS. 1 ГБ ОЗУ и 1 vCPU достаточно для небольших команд.
Связанные статьи
Установка Coolify: Развёртывание приложений с Self-Hosted PaaS
Установка Coolify, интеграция Docker и Git, развёртывание приложений, управление базами данных, SSL-сертификаты, переменные окружения и self-hosted PaaS как альтернатива Heroku/Netlify.
Установка Nextcloud: Self-Hosted облачное хранилище и совместная работа
Установка Nextcloud с Docker, настройка Apache/Nginx, установка базы данных, SSL-сертификат, синхронизация файлов, магазин приложений и оптимизация производительности.
Управление Docker с Portainer: Веб-интерфейс для контейнеров
Установка Portainer CE, управление Docker и Kubernetes, развёртывание стеков, управление томами/сетями, авторизация пользователей, вебхуки и интеграция GitOps.