jenstimmerman.vaultwarden

Vaultwarden

Diese Rolle war vorher als dmaes.bitwardenrs und dmaes.vaultwarden bekannt

Seit das Bitwarden_RS-Projekt seinen Namen in Vaultwarden geändert hat, wurde auch diese Rolle umbenannt (siehe #12 für weitere Informationen). Um diese Änderung durchzuführen, haben wir alles von bitwardenrs in vaultwarden umbenannt (Variablen im Ansible-Code sowie Verzeichnisse, Benutzer, Systemd-Dienste usw.).

Beim Umstieg:

  • Stoppen Sie den alten bitwarden_rs-Dienst
  • Machen Sie ein Backup von beiden Dateien und der Datenbank zur Sicherheit
  • Aktualisieren Sie Ihren Ansible-Code, um mit der neuen Rolle zu arbeiten
  • Entweder das vaultwarden_directory auf das alte Verzeichnis zeigen oder die Daten in das neue Standardverzeichnis (/opt/vaultwarden) verschieben. Achten Sie auch auf vaultwarden_datadir, wenn Sie ein benutzerdefiniertes verwenden.
  • Der neue Vaultwarden-Benutzer sollte die gleichen Berechtigungen für die Datenbank erhalten wie Ihr vorheriger Bitwardenrs-Benutzer
    • für postgres:
      • su - postgres
      • psql
      • postgres-# GRANT bitwardenrs TO vaultwarden;
  • Führen Sie Ansible aus, dies erstellt alles unter dem neuen Namen (Benutzer und Dienst, nicht Verzeichnis)
  • Alte Benutzer und Dienste (und möglicherweise (Daten)verzeichnis) aufräumen

Build Status

Baut, installiert und konfiguriert Vaultwarden (ohne Docker).

Nur getestet auf Rocky Linux 9

Anforderungen

  • Anforderungen für das unarchive-Modul
  • Anforderungen für das package-Modul
  • wget oder curl
  • jinja => v2.11
  • Systemd (optional)

Mindestens 1 GB RAM (2 GB empfohlen), der rustc-Compiler wird Bitwarden auf Ihrem Host kompilieren, was viel RAM benötigt. Mögliche Symptome von unzureichendem RAM sind: 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

Rollenvariablen

Variable Beschreibung Standardwert
vaultwarden_directory Wo Vaultwarden installiert werden soll /opt/vaultwarden
vaultwarden_version Welche Version installiert werden soll latest
vaultwarden_webvault Installieren Sie das gepatchte Webvault true
vaultwarden_webvault_version Version des zu installierenden Webvaults (dies wird ignoriert, wenn die Vaultwarden-Version auf neuesten Stand eingestellt ist, die entsprechende neueste Webvault-Version wird installiert) Dies ist die Version ohne das 'v'-Präfix 2022.12.0
vaultwarden_build_backend Den Datenbanktyp, für den kompiliert werden soll vaultwarden_version-spezifisch(*)
vaultwarden_force_recompile Erzwingen Sie die Neukompilierung der Binärdatei (z. B. wenn Sie auf demselben Server den Backend gewechselt haben) false
vaultwarden_config Schlüssel-Wert-Umgebungsvariablen für die Vaultwarden .env-Datei { DOMAIN: "https://{{ ansible_fqdn }}/" }
vaultwarden_datadir Vaultwarden-Datenverzeichnis (wird nicht konfiguriert, nur erstellt und z.B. für Schlüssel verwendet) {{ vaultwarden_directory }}/data
vaultwarden_encryption_key RSA-Schlüssel zur Verwendung für die Verschlüsselung (Inhalt, nicht Datei), leerer String, um nicht zu kopieren, Vaultwarden sollte einen generieren, wenn er nicht vorhanden ist ""
vaultwarden_force_encryption_key Erzwingen Sie die Änderung des Verschlüsselungskeys, wenn dieser bereits existiert (GEFÄHRLICH!) false
vaultwarden_systemd Verwalten Sie den Systemd-Dienst {{ ansible_service_mgr == 'systemd' }}
vaultwarden_required_service Lassen Sie Systemd auf einen anderen Dienst warten, bevor Vaultwarden gestartet wird undefined
vaultwarden_proc_limit Geben Sie das LimitNPROC für die Systemd-Dienstdatei an 128
(*) Ab vaultwarden_version: 1.17.0: Standardmäßig auf sqlite,mysql,postgresql, davor: Standardmäßig auf sqlite

Beispiel-Playbook

- hosts: servers
  vars:
    vaultwarden_configure: ja
    vaultwarden_port: "443"
    vaultwarden_build_backend: "sqlite,postgresql"
    vaultwarden_required_service: "postgresql.service"  # fügen Sie dies hinzu, wenn sich der Start von PostgreSQL verlangsamt, dies lässt Systemd warten
    admin_token: !vault |
      $ANSIBLE_VAULT;1.1;AES256
      ...
    vaultwarden_config:
      DOMAIN: "https://example.com/"
      DOMAIN_PATH: "/vaultwarden"  # ergibt eine Domain von https://example.com/vaultwarden/, muss mit einem '/' beginnen
      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

Lizenz

MIT

Über das Projekt

Builds, installs and configures Vaultwarden (https://github.com/dani-garcia/vaultwarden) (without Docker)

Installieren
ansible-galaxy install jenstimmerman.vaultwarden
Lizenz
mit
Downloads
1.8k
Besitzer