Files

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.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 |
## Запуск и остановка
Для запуска необходимо выполнить команду находясь в директории проекта:
```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 — специализированный
планировщик для контейнеров, не требующий дополнительных прав.