102 lines
3.9 KiB
Markdown
102 lines
3.9 KiB
Markdown
# Развертывание Vaultwarden
|
|
|
|
Vaultwarden — это менеджер паролей с открытым исходным кодом, который позволяет
|
|
безопасно хранить и управлять вашими паролями, логинами и другими
|
|
конфиденциальными данными.
|
|
|
|
## Сборка OCI-образа
|
|
|
|
Для сборки необходимо выполнить команду:
|
|
|
|
```sh
|
|
docker bake all
|
|
```
|
|
|
|
Загрузка образов в реестр:
|
|
|
|
```sh
|
|
docker bake all --push
|
|
```
|
|
|
|
## Экспорт образов в tar
|
|
|
|
Для экспорта необходимо выполнить команду:
|
|
|
|
```sh
|
|
docker bake save
|
|
```
|
|
|
|
Архивы будут находиться в директории **dist**
|
|
|
|
## Генерация Argon2-хеша токена
|
|
|
|
Для безопасного хранения ADMIN_TOKEN вместо простого текста используется
|
|
Argon2id-PHC.
|
|
|
|
Перед первым запуском необходимо сгенерировать секрет с Argon2-хеш секретного
|
|
токена.Для этого необходимо выполнить команду находясь в директории проекта:
|
|
|
|
```sh
|
|
docker run --rm -ti \
|
|
nstart/vaultwarden-server:1.0.1 \
|
|
/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 |
|
|
|
|
## Запуск и остановка
|
|
|
|
Для запуска необходимо выполнить команду находясь в директории проекта:
|
|
|
|
```sh
|
|
docker compose up -d
|
|
```
|
|
|
|
Для остановки необходимо выполнить команду находясь в директории проекта:
|
|
|
|
```sh
|
|
docker compose down
|
|
```
|
|
|
|
## Доступ к панели администратора (/admin)
|
|
|
|
В целях безопасности закрыт прямой доступ к панели администрирования.
|
|
|
|
Чтобы открыть панель локально на своей машине, можно установить SSH-туннель:
|
|
|
|
```sh
|
|
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 — специализированный
|
|
планировщик для контейнеров, не требующий дополнительных прав.
|