breuninger.bitwarden
Ansible Role: Bitwarden
DockerとDocker-Composeを使用してbitwarden.sh
でBitwardenをデプロイします。
このロールはBitwardenのセットアップスクリプトの自動化ラッパーです。 ハンドラを多く使用して、再設定や更新のタスクをトリガーします。
このロールでカバーされていないタスクが必要な場合は、直接マシンでセットアップスクリプトを使用しても問題ありません。 公式ドキュメントを参考にしてください: https://bitwarden.com/help/article/install-on-premise/
使用方法
プレイブックにロールを追加します:
- hosts: server
roles:
- { role: breuninger.bitwarden }
知られている問題
Certbot
現在、Nginx用の静的TLS証明書のみをサポートしています。Certbotの統合は設定されていません。 必要であれば、この機能をPRとして追加してください。
Bitwardenのバージョン
セットアップファイルのBitwardenのバージョンは、リポジトリのタグ付けされたバージョンとは異なる場合があります。 これは、リリース戦略によるもので、実際のバージョンは常にメインブランチでのみ増加します。私たちはすでにBitwardenとの協議を行っており、異なるリリース方法を期待しています。
SSLモード
Bitwardenのセットアップスクリプトでは、SSLの設定方法が4つあります:ユーザー提供のSSL証明書、Let's Encryptによって作成されるSSL証明書、セットアップコンテナによって生成される自己署名証明書、およびSSLなし(通常は推奨されません)。
ユーザー提供
後方互換性を維持するため、これがこのロールのデフォルトモードです。Bitwardenのセットアップスクリプトでは、ユーザーが提供した信頼されていない証明書を許可していますが、このロールでは信頼されている証明書(CAによって署名されたもの、自署でないもの)を必要とします。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: provided
bitwarden_nginx_cert_path: /path/to/ssl/cert
bitwarden_nginx_key_path: /path/to/ssl/key
信頼されていないユーザー提供の証明書が必要な場合は、新しいssl_modeとそれに対応する入力をdefaults/main.yml
に追加できます。
Let's Encrypt
Bitwardenのセットアップスクリプトに付属しているCertbot SSL統合を使用します。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: lets_encrypt
bitwarden_lets_encrypt_email: [email protected]
自己署名の生成
Bitwardenのセットアップスクリプトでは、信頼されていないソースからSSLを利用するための自己署名SSL証明書を生成することができます。 上記の2つの方法は、Bitwardenを生産環境で運用する際にはより良い方法です。このオプションを使用する必要がない限り、上記のいずれかを選択してください。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: generate
SSLなし
このオプションを使用する前に、使用ケースをよく検討してください。逆プロキシでのSSL終端は一つの正当な使用ケースです。
- hosts: server
roles:
- role: breuninger.bitwarden
vars:
bitwarden_ssl_mode: disable
Docker-Compose方式でオンプレミスにBitwardenをインストールおよび設定します。
目次
デフォルト変数
bitwarden_domain_name
Bitwarden用のドメイン名
デフォルト値
bitwarden_domain_name: localhost
bitwarden_global_env
グローバルなBitwarden環境変数のマップ。全体の設定がglobal.override.envにマッピングされます。 詳細は https://bitwarden.com/help/article/environment-variables/ を参照してください。
デフォルト値
bitwarden_global_env: {}
使用例
bitwarden_global_env:
globalSettings__mail__smtp__host: localhost
globalSettings__mail__smtp__port: 25
bitwarden_lets_encrpyt_email
bitwarden_ssl_modeが「lets_encrypt」に設定されている場合のLet's Encryptのメールアカウント
bitwarden_lets_encrypt_email
デフォルト値
bitwarden_lets_encrypt_email:
bitwarden_nginx_cert_path
Nginxコンテナで使用される証明書ファイルのパス(bitwarden_ssl_mode == "provided"
の場合は必須)。
ロールのユーザーは、有効な証明書ファイルを提供する責任があります。
ファイルは提供された場所からBitwardenユーザーホームにコピーされ、コンテナ内部での正しいマッピングが保証されます。
デフォルト値
bitwarden_nginx_cert_path:
bitwarden_nginx_key_path
Nginxコンテナで使用されるキーファイルのパス(bitwarden_ssl_mode == "provided"
の場合は必須)。ロールのユーザーは、有効なキー ファイルを提供する責任があります。
ファイルは提供された場所からBitwardenユーザーホームにコピーされ、コンテナ内部での正しいマッピングが保証されます。
デフォルト値
bitwarden_nginx_key_path:
bitwarden_region
Bitwardenで使用されるリージョン。 オプション:US、EU
デフォルト値
bitwarden_region: US
bitwarden_script_version
デフォルト値
bitwarden_script_version: v2023.12.0
bitwarden_setup_config
上書きするBitwardenのセットアップ構成値のマップ。 これを使用してBitwardenの生成されたconfig.ymlファイルの値を変更します。
デフォルト値
bitwarden_setup_config: {}
使用例
bitwarden_setup_config:
database_docker_volume: true
bitwarden_ssl_mode
デフォルト値
bitwarden_ssl_mode: provided
bitwarden_ssl_provider
インストール設定に使用されるSSLモードを指定します。 オプション:provided、generate、lets_encrypt、disable
bitwarden_test_install_script
bitwarden.sh
スクリプトのダウンロードを無効にするフラグ。Let's Encryptのssl_modeをテストする必要がある場合など、Let's Encryptのレート制限を気にせずに使用できます。また、bitwarden.sh
やrun.sh
スクリプトの変更をテストするためにも使用されます。将来的には、このフラグをbitwarden.sh
スクリプトに追加できることを望んでいます。
デフォルト値
bitwarden_test_install_script: false
依存関係
なし。
ライセンス
MIT
作成者
Operations Core Toolig ops-core-tooling@breuninger.de
ansible-galaxy install breuninger.bitwarden