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ę na vaultwarden_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;
  • 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)

Status budowy

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