Установка и настройка 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
А так же настроенный VPN на роутере, для того что бы включить VPN соединение на всей сети, это необходимо так как некоторые пакеты в скрипте не доступны из России
В консоли ноды необходимо ввести
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/vaultwarden.sh)"
Во время установки могут возникнуть ошибки по конфигурации ipv4, скрипт не пройдет проверки, сообщение о ошибках можем игнорировать, на все вопросы отвечает Y
Установка может занять довольно много времени
После установки в ноде появится контейнер, к нему необходимо подключиться.
Настройка
Далее необходимо сгенерировать admin token, он понадобится при настройке файла конфигурации, сделать это можно в тестовом или текущем контейнере командой
openssl rand -base64 48
Вывод необходимо записать
Далее необходимо отредактировать файл конфигурации
/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 сертификатом, поэтому нам необходимо выдать для <ip lxc контейнера>:8000 домен через любой обратный прокси.