jenstimmerman.vaultwarden

Vaultwarden

この役割は以前 dmaes.bitwardenrsdmaes.vaultwarden という名前でした

Bitwarden_RSプロジェクトがVaultwardenに名前を変更したため、役割も変更されました(詳細は #12 を参照)。この変更を強制するために、すべてのbitwardenrsvaultwardenに変更しました(Ansibleコードで使用される変数や、ディレクトリ、ユーザー、systemdサービスなども含まれます)。

切り替えを行う際の手順:

  • 古いbitwarden_rsサービスを停止
  • 念のため、ファイルとデータベースのバックアップを作成
  • 新しい役割に合わせてAnsibleコードを更新
  • vaultwarden_directoryを古いディレクトリに指し示すか、ファイルを新しいデフォルト(/opt/vaultwarden)に移動。カスタムのものを使用する場合はvaultwarden_datadirにも注意。
  • 新しいvaultwardenユーザーが、以前のbitwardenrsユーザーと同様の権限をデータベースに持つように設定
    • postgresの場合:
      • su - postgres
      • psql
      • postgres-# GRANT bitwardenrs TO vaultwarden;
  • Ansibleを実行すると、新しい名前の下にすべてが作成されます(ユーザーとサービス、ディレクトリは別)。
  • 古いユーザー、サービス(おそらくデータディレクトリ)をクリーンアップします。

Build Status

Vaultwardenをビルド、インストール、設定します(Dockerなし)。

Rocky linux 9でのみテスト済み

要件

  • unarchiveモジュールの要件
  • packageモジュールの要件
  • wgetまたはcurl
  • jinja => v2.11
  • Systemd(オプション)

少なくとも1GBのRAM(2GB推奨)。rustcコンパイラーがホスト上でBitwardenをコンパイルするため、多くのRAMを使用します。RAMが不足している場合の症状は以下の通りです。 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 パッチを当てたWebvaultをインストールするか true
vaultwarden_webvault_version インストールするWebvaultのバージョン(vaultwardenバージョンがlatestに設定されている場合は無視されます) 'v'プレフィックスなし 2022.12.0
vaultwarden_build_backend コンパイル対象のデータベースタイプ vaultwarden_version特有(*)
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 vaultwardenを起動する前にsystemdが他のサービスを待つようにする undefined
vaultwarden_proc_limit systemdサービスファイルのLimitNPROCを指定 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.vaultwarden
ライセンス
mit
ダウンロード
1.8k
所有者