# Установка и настройка vaultwarden в lxc контейнере

**Vaultwarden** — это легковесная реализация сервера Bitwarden, написанная на Rust.

**Ключевые особенности**:  
Совместим с официальными клиентами Bitwarden (браузер, мобильные apps, desktop)

**Self-hosted** — ставится на **свой сервер/LXC/Proxmox**

**Маленький** — ~10MB RAM против 1GB+ у официального Bitwarden

**Открытый код** (unofficial Bitwarden server)

**Зачем нужен**:  
Вместо облачного **Bitwarden ($10/мес)** ставишь свой менеджер паролей на домашний сервер, используешь те же приложения и расширения браузера.

#### Установка

Для установки **vaultwarden** понадобится скрипт с сайта [https://community-scripts.github.io/ProxmoxVE/scripts?id=vaultwarden](https://community-scripts.github.io/ProxmoxVE/scripts?id=vaultwarden)

А так же настроенный **VPN** на роутере, для того что бы включить **VPN** соединение на всей сети, это необходимо так как некоторые пакеты в скрипте **не доступны из России**

В консоли ноды необходимо ввести

```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/vaultwarden.sh)"
```

Во время установки могут возникнуть ошибки по конфигурации **ipv4**, скрипт не пройдет проверки, сообщение о ошибках можем игнорировать, на все вопросы отвечает **Y**

<p class="callout info">Установка может занять довольно много времени</p>

После установки в ноде появится контейнер, к нему необходимо подключиться.

#### Настройка

Далее необходимо сгенерировать **admin token**, он понадобится при настройке файла конфигурации, сделать это можно в тестовом или текущем контейнере командой

```
openssl rand -base64 48
```

**<span class="token token">Вывод необходимо записать</span>**

Далее необходимо отредактировать файл конфигурации

```
/opt/vaultwarden/.env
```

Файл конфигурации необходимо привести к виду

```
ADMIN_TOKEN='<admin token который мы сгенерировали>'
ROCKET_ADDRESS=0.0.0.0
DATA_FOLDER=/opt/vaultwarden/data
DATABASE_MAX_CONNS=10
WEB_VAULT_FOLDER=/opt/vaultwarden/web-vault
WEB_VAULT_ENABLED=true
```

После чего перезагрузить **lxc контейнер**.

Панель **vaultwarden** доступна только через **https** c **ssl сертификатом**, поэтому нам необходимо выдать для **&lt;ip lxc контейнера&gt;:8000** домен через любой обратный прокси.