Vaultwarden — это легкая сторонняя альтернатива более тяжелому официальному серверу Bitwarden, написанная на Rust. Благодаря своей легкости он отлично подходит для таких устройств, как Raspberry Pi или виртуального сервера с небольшим объемом памяти.
Bitwarden — это менеджер паролей с открытым исходным кодом, который позволяет вам размещать пароли самостоятельно, а не полагаться на облачные серверы.
Сервер Vaultwarden пытается поддерживать совместимость с основными функциями сервера Bitwarden. Официальный Vaultwarden Wiki перечисляет отсутствующие функции.
В этом руководстве мы используем Docker для запуска Vaultwarden, поскольку он делает весь процесс настройки невероятно простым. Помимо установки Docker, вам не нужно беспокоиться об установке какого-либо другого программного обеспечения для запуска этого сервера менеджера паролей.
Vaultwarden работает лучше всего, когда у вас есть доменное имя для вашего сервера. Это связано с тем, что для корректной работы клиентам нужен подписанный сертификат.
Хотя можно использовать самоподписанный сертификат, Bitwarden невероятно сложен в использовании. Вам придется добавлять сертификат на каждое используемое вами устройство.
Установка Docker
Обновляем пакеты
apt update && apt upgrade -y
Устанавливаем docker
bash <(curl -sSL https://get.docker.com)
Добавляем текущего пользователя в группу docker
sudo usermod -aG docker ${USER}
После выполнения команды выйдите из системы и войдите снова, чтобы изменения вступили в силу. Или используйте команду:
newgrp docker
Устанавливаем argon2
Для доступа в панель администратора Vaultwarden генерируются уникальный ключ, который в открытом виде храниться в файлах настроек сервера менеджера паролей. Данный ключ не дает доступа к данным конечных пользователей, но он позволяет нанести значительный вред системе вплоть до полной поломки. Разработчики Vaultwarden рекомендуют использовать программу argon2. Установим ее:
apt install argon2
Установка и настройка менеджера паролей Vaultwarden
Создаем основную рабочую папку где будут располагаться файлы, в том числе зашифрованные базы данных. Для бекапа данных достаточно скопировать файлы данной директории и поместить в новый проект.
mkdir vaultwarden && cd vaultwarden
При первоначальной установке с базовыми настройками vaultwarden генерирую пароль для панели администратора в виде большого ключа символов который храниться в открытом виде в файле конфигурации сервера. Для обеспечения безопасности сервера необходимо устанавливать сервер с заранее созданным паролем администратора. Более подробно можно почитать в официальной справке
Создадим зашифрованный пароль с использованием argon2
echo -n "MySecretPassword" | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1
WARNING
Не используйте символ $
в пароле, в этом случае экранирование будет работать не корректно и вы не сможете войти в админ панель.
Результат вывода будет шифрованное представление пароля вида:
$argon2id$v=19$m=19456,t=2,p=1$YnV6N0lrZHZoOWpGdS9rcmdIWHR5RW1zQjJtVU4xdHhHNis2STVQN25uTT0$wEoFtCRQBcbayI6z+tVFZwV1mT2pXOLicEJdXq4st2w
Копируем полученный результат в файл параметров запуска vaultwarden
nano .env
Вставляем полученный ключ в файл с указанием параметра, не каких изменений в строку вносить не надо. Обязательно используйте свой пароль и свой результат шифрования для обеспечения безопасности!!!!
VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=19456,t=2,p=1$YnV6N0lrZHZoOWpGdS9rcmdIWHR5RW1zQjJtVU4xdHhHNis2STVQN25uTT0$wEoFtCRQBcbayI6z+tVFZwV1mT2pXOLicEJdXq4st2w'
Сохраняем файл.
Включение push-уведомлений мобильного клиента Vaultwarden
- Перейдите по ссылке https://bitwarden.com/host/ введите свой адрес электронной почты, и вы получите идентификатор УСТАНОВКИ и КЛЮЧ.
- Добавьте следующие настройки в свой
docker-compose.yml
(и убедитесь, что вы ввели правильный идентификатор и ключ из предыдущего шага):
environment:
- PUSH_ENABLED=true
- PUSH_INSTALLATION_ID=
- PUSH_INSTALLATION_KEY=
NOTE
Если вы запросили идентификатор УСТАНОВКИ и КЛЮЧ для bitwarden.eu (European Union)
на предыдущем шаге, вам также необходимо установить
- PUSH_RELAY_URI=https://api.bitwarden.eu
- PUSH_IDENTITY_URI=https://identity.bitwarden.eu
Создаем файл docker-compose
Создаем файл docker-compose
nano docker-compose.yaml
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
- TZ=Europe/Moscow
# - SIGNUPS_ALLOWED=false
- ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}
- PUSH_ENABLED=true
- PUSH_INSTALLATION_ID=
- PUSH_INSTALLATION_KEY=
- PUSH_RELAY_URI=https://api.bitwarden.eu
- PUSH_IDENTITY_URI=https://identity.bitwarden.eu
volumes:
- ./data:/data
ports:
- 8787:80
В папке /vaultwarden
будут размещены основные файлы сервера vaultwarden в том числе зашифрованные базы данных паролей.
Запускаем контейнер
Теперь, мы можем запустить контейнер Vaultwarden с помощью следующей команды в терминале.
docker compose up -d
Доступ к веб-интерфейсу Vaultwarden
Для доступа к Vaultwarden с клиентских устройств я буду использовать NginxProxyManager и Cloudflare, как это настроить можно прочитать в этом [[Публикация локального сервера из дома в интернет|заметке]]
Фактически на данном этапе установка менеджера паролей закончена.
Создание учетной записи
После запуска контейнера, открываем Web интерфейс по адресу https://<DOMAINNAME>/#/login
При первом доступе к Vaultwarden вам необходимо создать собственную учетную запись. Чтобы начать этот процесс, нажмите на ссылку Создать аккаунт
.

На следующем этапе вам нужно будет заполнить информацию, которую вы хотите использовать для своей учетной записи.
Убедитесь, что вы используете безопасный пароль, так как именно там вы будете хранить пароли для всех ваших других учетных записей. Не используйте пароль, который вы использовали ранее.
Создав учетную запись, вы можете войти в систему и начать использовать Vaultwarden.

Доступ в админ панель
Для доступа в админ панель перейдите на https://<DOMAINNAME>/admin


Для входа используем пароль который указывали в команде шифрования пароля: MySecretPassword
Отключение регистрации
После того, как вы создали свою учетную запись, вы можете захотеть отключить регистрацию. По умолчанию Vaultwarden позволит регистрироваться любому человеку.
Останавливаем Docker контейнер Vaultwarden.
docker compose down
Открываем docker-compose.yaml и добавляем следующую строку в раздел environment:
- SIGNUPS_ALLOWED=false
После этого снова запускаем контейнер
docker compose up -d
Теперь при попытке зарегистрировать нового пользователя мы получаем ошибку

Настройка клиентов
В качестве клиента для мобильных устройств можно использовать официальное приложение Bitwarden, а для десктопных браузеров официальное расширение.
При подключении клиента выберите собственный хостинг
и укажите его полный адрес.
WARNING
Push-уведомления будут работать только в приложениях Bitwarden, приобретенных в официальных мобильных магазинах (App Store, Google Play Store) или при использовании альтернативных клиентов для Google Play Store (например, Aurora Store). Push-уведомления не будут работать при использовании клиентов Bitwarden, установленных из F-Droid, Neo Store или других альтернативных магазинов. Эти приложения были созданы без поддержки Firebase Messaging. Чтобы обеспечить правильную работу push-уведомлений, убедитесь, что функция firebaseinstallations.googleapis.com
не заблокирована, поскольку это необходимо для работы функции.
TIP
Проверьте, работают ли мобильные push-уведомления, например, переименовав папку в веб-хранилище, и посмотрите, изменится ли она через несколько секунд в вашем мобильном приложении.
Итог
Мы получили собственный менеджер паролей и теперь все ваши пароли будут храниться исключительно на вашем сервере. А получить доступ к ним вы сможете из любой точки мира.
Содержание
- Установка Docker
- Устанавливаем argon2
- Установка и настройка менеджера паролей Vaultwarden
- Создадим зашифрованный пароль с использованием argon2
- Включение push-уведомлений мобильного клиента Vaultwarden
- Создаем файл docker-compose
- Запускаем контейнер
- Доступ к веб-интерфейсу Vaultwarden
- Создание учетной записи
- Доступ в админ панель
- Отключение регистрации
- Настройка клиентов
- Итог