jenstimmerman.vaultwarden
Vaultwarden
Ta rola była wcześniej znana jako dmaes.bitwardenrs
oraz dmaes.vaultwarden
Ponieważ projekt Bitwarden_RS zmienił nazwę na Vaultwarden, ta rola również została zmieniona (zobacz #12 po więcej informacji). Aby wymusić tę zmianę, zmieniliśmy wszystko z bitwardenrs
na vaultwarden
(zmienne używane w kodzie ansible, ale również katalogi, użytkownik, usługa systemd itp.).
Podczas przełączania:
- Zatrzymaj starą usługę
bitwarden_rs
- Wykonaj kopię zapasową obu plików i bazy danych dla pewności
- Zaktualizuj swój kod ansible, aby działał z nową rolą
- Wskaz
vaultwarden_directory
na stary katalog lub przenieś pliki do nowego katalogu domyślnego (/opt/vaultwarden
). Zwróć także uwagę navaultwarden_datadir
, jeśli używasz niestandardowego. - Nowy użytkownik vaultwarden powinien mieć te same uprawnienia w bazie danych, co twój poprzedni użytkownik bitwardenrs
- dla postgres:
- su - postgres
- psql
postgres-# GRANT bitwardenrs TO vaultwarden;
- dla postgres:
- Uruchom ansible, to stworzy wszystko pod nową nazwą (użytkownik i usługa, nie katalog)
- Posprzątaj starego użytkownika, usługę (i możliwie (katalog) danych)
Buduje, instaluje i konfiguruje Vaultwarden (bez Dockera).
Testowane tylko na Rocky linux 9
Wymagania
- Wymagania dla modułu unarchive
- Wymagania dla modułu package
- wget lub curl
- jinja => v2.11
- Systemd (opcjonalnie)
Minimum 1 GB pamięci RAM (zalecane 2GB), kompilator rustc skompiluje bitwarden na twoim hoście, co wymaga dużo pamięci. Możliwe objawy niewystarczającej pamięci RAM to:
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
Zmienne roli
Zmienna | Opis | Wartość domyślna |
---|---|---|
vaultwarden_directory |
Gdzie zainstalować Vaultwarden | /opt/vaultwarden |
vaultwarden_version |
Którą wersję zainstalować | latest |
vaultwarden_webvault |
Zainstaluj poprawioną wersję webvault | true |
vaultwarden_webvault_version |
Wersja webvault do zainstalowania (to zostanie zignorowane, jeśli wersja vaultwarden jest ustawiona na najnowszą, wtedy zostanie zainstalowana odpowiadająca wersja) | 2022.12.0 |
vaultwarden_build_backend |
Typ bazy danych do kompilacji | specyficzne dla wersji vaultwarden(*) |
vaultwarden_force_recompile |
Wymuś ponowną kompilację binarnej wersji (np. zmieniłeś backend na tym samym serwerze) | false |
vaultwarden_config |
Zmienne środowiskowe klucz-wartość do pliku .env Vaultwarden |
{ DOMAIN: "https://{{ ansible_fqdn }}/" } |
vaultwarden_datadir |
Katalog danych Vaultwarden (nie konfiguruje, tylko tworzy i używany na przykład do kluczy) | {{ vaultwarden_directory }}/data |
vaultwarden_encryption_key |
Klucz RSA do użycia do szyfrowania (treść, nie plik), pusty ciąg, aby nie kopiować, Vaultwarden powinien wygenerować jeden, jeśli go nie ma | "" |
vaultwarden_force_encryption_key |
Wymuś zmianę klucza szyfrowania, jeśli już istnieje (NIEBEZPIECZNE!) | false |
vaultwarden_systemd |
Zarządzaj usługą systemd | {{ ansible_service_mgr == 'systemd' }} |
vaultwarden_required_service |
Spraw, aby systemd czekał na inną usługę przed uruchomieniem vaultwarden | undefined |
vaultwarden_proc_limit |
Określ LimitNPROC dla pliku usługi systemd | 128 |
(*)Od vaultwarden_version: 1.17.0 : domyślnie sqlite,mysql,postgresql , wcześniej: domyślnie sqlite |
Przykładowy plik playbook
- hosts: servers
vars:
vaultwarden_configure: yes
vaultwarden_port: "443"
vaultwarden_build_backend: "sqlite,postgresql"
vaultwarden_required_service: "postgresql.service" # dodaj to, jeśli postgres zaczyna się spowalniać, to sprawi, że systemd poczeka
admin_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
...
vaultwarden_config:
DOMAIN: "https://example.com/"
DOMAIN_PATH: "/vaultwarden" # skutkuje domeną https://example.com/vaultwarden/, musi zaczynać się od '/'
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
Licencja
MIT
O projekcie
Builds, installs and configures Vaultwarden (https://github.com/dani-garcia/vaultwarden) (without Docker)
Zainstaluj
ansible-galaxy install jenstimmerman.vaultwarden
Licencja
mit
Pobrania
1.8k
Właściciel