jenstimmerman.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でのみテスト済み
要件
少なくとも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
所有者