vaultwarden
Vaultwarden
Эта роль раньше называлась dmaes.bitwardenrs
и dmaes.vaultwarden
Так как проект Bitwarden_RS изменил название на Vaultwarden, эта роль тоже изменила название (см. #12 для более подробной информации).
Для этого изменения мы изменили всё с bitwardenrs
на vaultwarden
(переменные, используемые в коде ansible, а также директории, пользователь, служба systemd и т. д.)
При переключении:
- Остановите старую службу
bitwarden_rs
- Сделайте резервную копию файлов и базы данных на всякий случай
- Обновите ваш код ansible, чтобы он работал с новой ролью
- Укажите
vaultwarden_directory
на старую директорию или переместите данные в новую по умолчанию (/opt/vaultwarden
). Также обратите внимание наvaultwarden_datadir
, если вы используете свою директорию. - Новый пользователь vaultwarden должен получить такие же права на базу данных, как ваш предыдущий пользователь bitwardenrs
- для postgres:
- su - postgres
- psql
postgres-# GRANT bitwardenrs TO vaultwarden;
- для postgres:
- Запустите ansible, это создаст всё под новым именем (пользователь и служба, но не директория)
- Удалите старого пользователя, службу (и, возможно, (данные) директорию)
Устанавливает и настраивает Vaultwarden (без Docker).
Тестировалось только на Rocky linux 9
Требования
- Требования для модуля unarchive
- Требования для модуля package
- wget или curl
- jinja => v2.11
- Systemd (опционально)
Не менее 1 ГБ ОЗУ (рекомендуется 2 ГБ), компилятор rustc будет компилировать bitwarden на вашем хосте, что требует много памяти. Возможные симптомы нехватки ОЗУ:
Memory cgroup out of memory: Killed process 709453 (rustc) total-vm:2668356kB, anon-rss:955680kB, file-rss:0kB, shmem-rss:0kB, UID:996 pgtables:4516kB oom_score_adj:0
Переменные роли
Переменная | Описание | Значение по умолчанию |
---|---|---|
vaultwarden_directory |
Где установить Vaultwarden | /opt/vaultwarden |
vaultwarden_version |
Какую версию установить | latest |
vaultwarden_webvault |
Установить патченный веб-интерфейс | true |
vaultwarden_webvault_version |
Версия веб-интерфейса для установки (это будет игнорироваться, если версия vaultwarden установлена на latest, будет установлена соответствующая последняя версия веб-интерфейса) Это версия без префикса 'v' | 2022.12.0 |
vaultwarden_build_backend |
Тип базы данных, для которой будет скомпилировано | зависит от версии vaultwarden(*) |
vaultwarden_force_recompile |
Принудительно перекомпилировать бинарный файл, (например, если вы сменили бекенд на том же сервере) | false |
vaultwarden_config |
Переменные окружения ключ-значение для файла Vaultwarden .env |
{ DOMAIN: "https://{{ ansible_fqdn }}/" } |
vaultwarden_datadir |
Директория данных Vaultwarden (не настраивает, только создаёт и используется, например, для ключей) | {{ vaultwarden_directory }}/data |
vaultwarden_encryption_key |
RSA-ключ для шифрования (содержимое, а не файл), пустая строка, чтобы не копировать, Vaultwarden должен сгенерировать его, если он не существует | "" |
vaultwarden_force_encryption_key |
Принудительно изменить ключ шифрования, если он уже существует (ОПАСНО!) | false |
vaultwarden_systemd |
Управление службой systemd | {{ ansible_service_mgr == 'systemd' }} |
vaultwarden_required_service |
Заставить Systemd ждать другую службу перед запуском vaultwarden | undefined |
vaultwarden_proc_limit |
Указать LimitNPROC для файла службы systemd | 128 |
(*)Начиная с vaultwarden_version: 1.17.0 : по умолчанию sqlite,mysql,postgresql , до этого: по умолчанию sqlite |
Пример плейбука
- hosts: servers
vars:
vaultwarden_configure: yes
vaultwarden_port: "443"
vaultwarden_build_backend: "sqlite,postgresql"
vaultwarden_required_service: "postgresql.service" # добавьте это, если postgresql начинает тормозить, это заставит systemd подождать
admin_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
...
vaultwarden_config:
DOMAIN: "https://example.com/"
DOMAIN_PATH: "/vaultwarden" # будет результатом https://example.com/vaultwarden/, должно начинаться со слэша '/'
ADMIN_TOKEN: "{{ admin_token }}"
DATABASE_URL: "postgresql:///vaultwarden?host=/run/postgresql/"
SIGNUPS_ALLOWED: 'false'
SIGNUPS_VERIFY: 'true'
SIGNUPS_DOMAINS_WHITELIST: 'example.com'
INVITATIONS_ALLOWED: 'true'
SMTP_HOST: 'mail.example.com'
SMTP_FROM: '[email protected]'
SMTP_FROM_NAME: 'vaultwarden'
ROCKET_ADDRESS: '0.0.0.0'
roles:
- jenstimmerman.vaultwarden
Лицензия
MIT
О проекте
Builds, installs and configures Vaultwarden (https://github.com/dani-garcia/vaultwarden) (without Docker)
Установить
ansible-galaxy install jenstimmerman/ansible-role-vaultwarden
Лицензия
mit
Загрузки
1257
Владелец