Windows オフラインデプロイメント
この記事では、オフラインまたはエアギャップ環境の自分のWindowsサーバーにBitwardenをインストールしてデプロイする手順を説明します。Bitwarden ソフトウェアリリースサポートのドキュメンテーションをご確認ください。
warning
手動インストールは、上級ユーザーのみが行うべきです。Docker技術に非常に詳しく、Bitwardenのインストールに対してより多くのコントロールを望む場合のみ、進めてください。
手動インストールでは、Bitwardenのインストールの特定の依存関係を自動的に更新する能力が欠けています。Bitwardenの一つのバージョンから次のバージョンへアップグレードすると、必要な環境変数の変更、nginx default.confの変更、docker-compose.ymlの変更など、あなたが責任を持って変更を行う必要があります。
これらをGitHubのリリースメモで強調しようと思います。Bitwardenのインストールスクリプトで使用される依存関係テンプレートの変更もGitHubで監視することができます。
要件
インストールを進める前に、以下の要件が満たされていることを確認してください:
- あなたのサーバーにDocker EngineとDocker Composeがインストールされ、使用準備が整っています。この設定中には、チェックを外す必要がありますHyper-Vの代わりにWSL2を使用する(推奨)オプション。 
- インターネットアクセスが可能なマシンを使用して、Bitwardenサーバーリポジトリのリリースページから最新の - docker-stub.zipファイルをダウンロードし、このファイルをあなたのサーバーに転送しました。
- あなたの環境では、オフラインのSMTPサーバーが設定され、アクティブになっています。 
- (オプション)OpenSSL Windowsバイナリがサーバーにインストールされ、使用準備が整いました。あなたの希望により、OpenSSLの代わりに自己署名証明書を使用することも可能です。 
システム仕様
| 最小限 | おすすめ | |
|---|---|---|
| プロセッサー | x64、1.4GHz | x64、2GHzデュアルコア | 
| 記憶 | 6GB RAM | 8+ GB RAM | 
| ストレージ | 76GB | 90GB | 
| Dockerバージョン | エンジン19+とコンポーズ1.24+ | エンジン19+およびコンポーズ1.24+ | 
ネストされた仮想化
Windows Server上でBitwardenを実行するには、ネストされた仮想化を使用する必要があります。あなたのハイパーバイザーのドキュメンテーションを確認して、ネストされた仮想化がサポートされているかどうか、そしてそれをどのように有効にするかを調べてください。
tip
Azure VMとしてWindows Serverを実行している場合、ネストされた仮想化をサポートするすべてのシステム要件を満たすStandard D2s v3 Virtual Machine running Windows Server 2022を推奨します。また、セキュリティタイプを選択する必要があります:スタンダードをデフォルトの信頼できる起動仮想マシンではなく。
インストール手順
あなたのドメインを設定してください
デフォルトでは、Bitwardenはホストマシンのポート80(http)および443(https)を通じて提供されます。これらのポートを開放して、ネットワーク内外からBitwardenにアクセスできるようにしてください。インストール中に異なるポートを選択することもできます。
tip
Windows Firewallを使用している場合、Docker Desktop for Windowsは自動的にWindows Firewallの例外に自身を追加しません。関連するエラーを防ぐために、TCPポート80および443(または選択した代替ポート)の例外を追加してください。
インターネット経由でBitwardenを提供している場合、特に、ホストマシンを指すDNSレコードを持つドメイン名(例:bitwarden.example.com)を設定することをお勧めします。
Bitwardenローカルユーザー&ディレクトリを作成する
PowerShellを開き、次のコマンドを実行してBitwardenローカルユーザーを作成します:
BashPS C:\> $Password = Read-Host -AsSecureString上記のコマンドを実行した後、テキスト入力ダイアログに希望のパスワードを入力してください。パスワードを指定した後、次のコマンドを実行してください:
BashNew-LocalUser "Bitwarden" -Password $Password -Description "Bitwarden Local Admin"新しく作成されたユーザーとして、C:\の下にBitwardenフォルダーを作成してください。
BashPS C:\> mkdir Bitwarden
Docker Desktopをインストールしたら、設定 → リソース → ファイル共有に移動し、作成したディレクトリ(C:\Bitwarden)をリソースリストに追加します。適用して再起動を選択して変更を適用してください。
このドキュメントのすべての後続の手順を完了する前に、新しく作成したユーザーとしてログインすることをお勧めします。
あなたのマシンを設定してください
あなたのBitwardenサーバーに必要なアセットを機器に設定するには:
tip
あなたがBitwardenユーザー&ディレクトリを作成した場合、以下をBitwardenユーザーとして完了してください。
- C:\Bitwardenに新しいディレクトリを作成し、その名前を- bwdataとし、そこに- docker-stub.zipを解凍してください。
 一度解凍すると、- bwdataディレクトリは、- docker-compose.ymlファイルのボリュームマッピングが期待するものと一致します。あなたの希望により、これらのマッピングの位置をホストマシン上で変更することができます。
- bwdata\env\global.override.envで、以下の環境変数を編集してください:- globalSettings__baseServiceUri__vault=: あなたのBitwardenインスタンスのドメインを入力してください。
- globalSettings__sqlServer__ConnectionString=: 後のステップで使用するために、- RANDOM_DATABASE_PASSWORDを安全なパスワードに置き換えてください。
- globalSettings__identityServer__certificatePassword=: 後のステップで使用するための安全な証明書のパスワードを設定します。
- globalSettings__internalIdentityKey=:- RANDOM_IDENTITY_KEYをランダムなキー文字列に置き換えてください。
- globalSettings__oidcIdentityClientKey=:- RANDOM_IDENTITY_KEYをランダムなキー文字列に置き換えてください。
- globalSettings__duo__aKey=:- RANDOM_DUO_AKEYをランダムなキー文字列に置き換えてください。
- globalSettings__installation__id=: https://bitwarden.com/hostから取得したインストールIDを入力してください。
- globalSettings__installation__key=: https://bitwarden.com/hostから取得したインストールキーを入力してください。
- globalSettings__pushRelayBaseUri=: この変数は空白であるべきです。詳細については、プッシュリレーの設定を参照してください。- tip- この時点で、すべての - globalSettings__mail__smtp__変数と- adminSettings__adminsの値も設定することを検討してください。これにより、新しい組織メンバーへの招待をSendするためのSMTPメールサーバーが設定され、システム管理者ポータルへのアクセスが提供されます。
 
- IDコンテナーのための - ID.pfx証明書を生成します。OpenSSLを使用するか、任意のツールを使用して自己署名証明書を生成することができます。あなたがOpenSSLを使用している場合、次のコマンドを実行してください:Bash- openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950- そして Bash- openssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORD- 上記のコマンドで、 - IDENTITY_CERT_PASSWORDをステップ2で作成し使用した証明書のパスワードに置き換えてください。
- ID.pfxをマップされたボリュームディレクトリ(デフォルトでは、- .\bwdata\ID)に移動します。
- identity.pfxを- .\bwdata\sslディレクトリにコピーしてください。
- あなたのドメインの名前で - .\bwdata\sslにサブディレクトリを作成してください。
- 信頼できるSSL証明書と秘密鍵を新しく作成された - .\bwdata\ssl\bitwarden.example.comサブディレクトリに提供してください。- note- このディレクトリは、 - \etc\sslのNGINXコンテナにマップされています。信頼できるSSL証明書を提供できない場合は、HTTPSエンドポイントをBitwardenクライアントアプリケーションに提供するプロキシでインストールをフロントにしてください。
- .\bwdata\nginx\default.confで:- すべての - bitwarden.example.comのインスタンスをあなたのドメインに置き換えてください、- Content-Security-Policyヘッダー内も含めて。
- ssl_certificateと- ssl_certificate_keyの変数を、ステップ6で提供された証明書と秘密鍵のパスに設定します。
- あなたの証明書の設定に応じて、以下のアクションのいずれかを実行してください: - 信頼できるSSL証明書を使用している場合、 - ssl_trusted_certificate変数を証明書のパスに設定します。
- 自己署名証明書を使用する場合は、 - ssl_trusted_certificate変数をコメントアウトしてください。
 
 
- .\bwdata\env\mssql.override.envで、- RANDOM_DATABASE_PASSWORDをステップ2で作成したパスワードに置き換えてください。
- .\bwdata\web\app-id.jsonで、- bitwarden.example.comをあなたのドメインに置き換えてください。
画像をダウンロード&転送する
あなたのオフラインマシンで使用するためのDockerイメージを取得するには:
- インターネットに接続されたマシンから、 - bitwarden/xxx:latestのすべてのdockerイメージをダウンロードしてください。これらは- docker-compose.ymlファイルにリストされており、- docker-stub.zipにあります。
- 各画像を - .imgファイルに保存します。例えば:Bash- docker image save -o mssql.img ghcr.io/bitwarden/mssql:latest
- すべての - .imgファイルをオフラインマシンに転送してください。
- あなたのオフラインマシンで、各 - .imgファイルをロードしてローカルのDockerイメージを作成します。例えば:Bash- docker image load -i mssql.img
あなたのサーバーを起動してください
次のコマンドであなたのBitwardenサーバーを起動してください:
Bashdocker compose -f ./docker/docker-compose.yml up -d
すべてのコンテナが正しく動作していることを確認してください。
Bashdocker ps
おめでとうございます!Bitwardenは現在、https://your.domain.comで稼働しています。それが機能していることを確認するために、ブラウザでウェブ保管庫を訪れてください。
あなたは今、新しいアカウントを登録してログインすることができます。新しいアカウントのメールアドレスを確認するためには、SMTP環境変数を設定する必要があります(環境変数を参照してください)。
次のステップ:
- Bitwardenの組織を自己ホスト型で運用する予定がある場合は、組織を自己ホスト型で開始するを参照してください。 
- 詳細情報は、自己ホスト型FAQをご覧ください。 
あなたのサーバーを更新してください
自己ホスト型のサーバーを手動でインストールし、デプロイした場合の更新は、標準的な更新手順とは異なります。手動でインストールしたサーバーを更新するには:
- 最新の - docker-stub.zipアーカイブをGitHubのリリースページからダウンロードしてください。
- 新しい - docker-stub.zipアーカイブを解凍し、その内容を現在の- bwdataディレクトリの内容と比較し、新しいものを- bwdataの既存のファイルにコピーしてください。
 しないでください、既存の- bwdataディレクトリを新しい- docker-stub.zipアーカイブの内容で上書きしないでください。これは、あなたが行ったカスタム設定作業を上書きすることになります。
- 最新のコンテナイメージをダウンロードし、オフラインマシンに転送してください上記の文書に記載されている通り。 
- 次のコマンドを実行して、更新された設定と最新のコンテナを使用してサーバーを再起動します: Bash- docker compose -f ./docker/docker-compose.yml down && docker compose -f ./docker/docker-compose.yml up -d