Развертывание Vaultwarden
Vaultwarden — это менеджер паролей с открытым исходным кодом, который позволяет безопасно хранить и управлять вашими паролями, логинами и другими конфиденциальными данными.
Сборка OCI-образа
Для сборки необходимо выполнить команду:
docker bake all
Загрузка образов в реестр:
docker bake all --push
Экспорт образов в tar
Для экспорта необходимо выполнить команду:
docker bake save
Архивы будут находиться в директории dist
Генерация Argon2-хеша токена
Для безопасного хранения ADMIN_TOKEN вместо простого текста используется Argon2id-PHC.
Перед первым запуском необходимо сгенерировать секрет с Argon2-хеш секретного токена.Для этого необходимо выполнить команду находясь в директории проекта:
docker run --rm -ti \
nstart/vaultwarden-server:1.0.2 \
/vaultwarden hash --preset owasp \
| tee >(grep 'ADMIN_TOKEN=' > secrets/vw_admin_token.txt)
Переменные окружения
Перед запуском нужно сформировать файлы с секретами.
| Файл | Переменная окружения | Описание |
|---|---|---|
| ./secrets/vw_admin_token.txt | ADMIN_TOKEN | Argon2id-PHC хеш админ-токен |
| ./secrets/vw_sso_secret.txt | SSO_CLIENT_SECRET | Секрет клиента OIDC/SSO |
Запуск и остановка
Для запуска необходимо выполнить команду находясь в директории проекта:
docker compose up -d
Для остановки необходимо выполнить команду находясь в директории проекта:
docker compose down
Доступ к панели администратора (/admin)
В целях безопасности закрыт прямой доступ к панели администрирования.
Чтобы открыть панель локально на своей машине, можно установить SSH-туннель:
ssh -L 8080:localhost:8080 root@srvvw01.nstart.local
и в браузер открыть http://localhost:8080/admin
Резервное копирование
Резервная копия упаковывает в .tar.gz.:
- всего именованного volume vaultwarden-data
- секретов
По умолчанию резервное копирование делается каждый день в 3 часа ночи. Сохраняются последние 30 копий.
Результаты резервного копирования хранятся в именованном volume vaultwarden-backup.
Для изменения времени и частоты и расписания резервного копирования необходимо поправить файл backup/crontab.
ВНИМАНИЕ!!!!! Отправку резервных копий на удаленный сервер необходимо настраивать сторонними средствами.
В качестве планировщика используется Supercronic — специализированный планировщик для контейнеров, не требующий дополнительных прав.