Self-hostingインストール&デプロイガイド

Linux オフラインデプロイメント

この記事では、オフラインまたはエアギャップ環境の自分のサーバーにBitwardenをインストールしてデプロイする手順を説明します。Bitwarden ソフトウェアリリースサポートのドキュメンテーションをご確認ください。

注意

手動インストールは、上級ユーザーのみが行うべきです。Docker技術に非常に詳しく、Bitwardenのインストールに対してより多くのコントロールを望む場合のみ、進めてください。

手動インストールでは、Bitwardenのインストールの特定の依存関係を自動的に更新する能力が欠けています。Bitwardenの一つのバージョンから次のバージョンへアップグレードすると、必要な環境変数の変更、nginx default.confの変更、docker-compose.ymlの変更など、あなたが責任を持って変更を行う必要があります。

これらをGitHubのリリースメモで強調しようと思います。Bitwardenのインストールスクリプトで使用される依存関係テンプレートの変更もGitHubで監視することができます。

要件

インストールを進める前に、以下の要件が満たされていることを確認してください:

  • あなたのサーバーにDockerエンジンDocker Composeがインストールされ、使用準備が整っています。

  • インターネットアクセスが可能なマシンを使用して、Bitwardenサーバーリポジトリのリリースページから最新のdocker-stub.zipファイルをダウンロードし、このファイルをサーバーに転送しました。

  • あなたの環境では、オフラインのSMTPサーバーが設定され、アクティブになっています。

備考

Bitwardenは現在、DockerおよびDocker Compose環境でのみサポートされています。Bitwardenのインストールスクリプトと手動インストールの成果物は、BitwardenスタックとKubernetesの広範な知識がなければ、正確にKubernetesマニフェストに変換することはできません。インストールアーティファクトの自動変換は現時点では推奨されておらず、デプロイメント環境が壊れる可能性があります。

システム仕様

最小限

おすすめ

プロセッサー

x64、1.4GHz

x64、2GHzデュアルコア

記憶

2GB RAM

4GB RAM

ストレージ

12GB

25GB

Dockerバージョン

エンジン19+およびコンポーズ1.24+

エンジン19+およびコンポーズ1.24+

インストール手順

あなたのドメインを設定してください

デフォルトでは、Bitwardenはホストマシンのポート80(http)および443(https)を通じて提供されます。これらのポートを開けて、ネットワーク内外からBitwardenにアクセスできるようにしてください。インストール中に異なるポートを選択することもできます。

インターネット経由でBitwardenを提供している場合、特に、ホストマシンを指すDNSレコードを持つドメイン名(例:bitwarden.example.com)を設定することをお勧めします。

Bitwardenローカルユーザー&ディレクトリを作成する

私たちは、Bitwardenをインストールし実行するための専用のBitwardenサービスアカウントを持つサーバーを設定することをお勧めします。これにより、サーバー上で実行されている他のアプリケーションからあなたのBitwardenインスタンスが隔離されます。

これらの手順はBitwardenが推奨するベストプラクティスですが、必須ではありません。詳細については、DockerのLinux用のインストール後の手順のドキュメンテーションをご覧ください。

  1. Bitwardenユーザーを作成する:

    Bash
    sudo adduser bitwarden
  2. Bitwardenユーザーのパスワードを設定します:

    Bash
    sudo passwd bitwarden
  3. Docker グループを作成します(まだ存在しない場合):

    Bash
    sudo groupadd docker
  4. Bitwardenユーザーをdockerグループに追加します:

    Bash
    sudo usermod -aG docker bitwarden
  5. Bitwardenディレクトリを作成します:

    Bash
    sudo mkdir /opt/bitwarden
  6. /opt/bitwardenディレクトリの権限を設定します:

    Bash
    sudo chmod -R 700 /opt/bitwarden
  7. /opt/bitwardenディレクトリのBitwardenユーザー所有権を設定します:

    Bash
    sudo chown -R bitwarden:bitwarden /opt/bitwarden

あなたのマシンを設定してください

注意

あなたがBitwardenユーザー&ディレクトリを作成した場合、bitwardenユーザーとして/opt/bitwardenディレクトリから以下を完了してください。インストール中に問題が発生する可能性があるため、 Bitwarden を root としてインストールしないでください

あなたのBitwardenサーバーに必要なアセットを構成するためのマシンを設定するには:

  1. 新しいディレクトリをbwdataという名前で作成し、docker-stub.zipをそれに抽出します。例えば:

    Bash
    unzip docker-stub-US.zip -d bwdata

    一度解凍すると、bwdataディレクトリは、docker-compose.ymlファイルのボリュームマッピングが期待するものと一致します。あなたの希望により、これらのマッピングの位置をホストマシン上で変更することができます。

  2. ./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=: この変数は空白であるべきです。詳細については、プッシュリレーの設定をご覧ください。

      チップ

      この時点で、すべてのglobalSettings__mail__smtp__変数とadminSettings__adminsの値も設定することを検討してください。これにより、新しい組織メンバーへの招待をSendするためのSMTPメールサーバーが設定され、システム管理者ポータルへのアクセスが提供されます。

      環境変数についてもっと学ぶ

  3. ./bwdataから、IDコンテナのための.pfx証明書ファイルを生成し、それをマップされたボリュームディレクトリ(デフォルトでは./bwdata/identity/)に移動してください。例えば、次のコマンドを実行します:

    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で作成し使用した証明書のパスワードに置き換えてください。

  4. identity.pfx./bwdata/sslディレクトリにコピーしてください。

  5. あなたのドメインの名前で ./bwdata/ssl にサブディレクトリを作成します。例えば:

    Bash
    mkdir ./ssl/bitwarden.example.com

  6. 信頼できるSSL証明書と秘密鍵を新しく作成された./bwdata/ssl/bitwarden.example.comサブディレクトリに提供してください。

    備考

    このディレクトリは、/etc/sslのNGINXコンテナにマッピングされています。信頼できるSSL証明書を提供できない場合は、BitwardenクライアントアプリケーションにHTTPSエンドポイントを提供するプロキシでインストールをフロントにしてください。

  7. ./bwdata/nginx/default.conf:にて

    1. すべてのbitwarden.example.comのインスタンスをあなたのドメインに置き換えてください、Content-Security-Policyヘッダーも含めて。

    2. ssl_certificatessl_certificate_keyの変数を、ステップ6で提供された証明書と秘密鍵のパスに設定します。

    3. あなたの証明書の設定に応じて、以下のアクションのいずれかを取ってください:

      • 信頼できるSSL証明書を使用している場合は、ssl_trusted_certificate変数を証明書のパスに設定します。

      • 自己署名証明書を使用する場合は、ssl_trusted_certificate変数をコメントアウトしてください。

  8. ./bwdata/env/mssql.override.envで、RANDOM_DATABASE_PASSWORDステップ2で作成したパスワードに置き換えてください。

  9. ./bwdata/web/app-id.jsonで、bitwarden.example.comをあなたのドメインに置き換えてください。

  10. ./bwdata/env/uid.envで、コンテナがそれらの下で実行されるように、前に作成したbitwardenユーザーとグループの UID と GID を設定します。次に例を示します。

    Bash
    LOCAL_UID=1001 LOCAL_GID=1001

画像をダウンロード&転送する

あなたのオフラインマシンで使用するためのDockerイメージを取得するには:

  1. インターネットに接続されたマシンから、bitwarden/xxx:latestのすべてのdockerイメージをダウンロードします。これらはdocker-compose.ymlファイルにリストされており、docker-stub.zipにあります。

  2. 各画像を.imgファイルに保存します。例えば:

    Bash
    docker image save -o mssql.img bitwarden/mssql:version
  3. すべての.imgファイルをオフラインのマシンに転送してください。

  4. あなたのオフラインマシンで、各.imgファイルをロードしてローカルのDockerイメージを作成します。例えば:

    Bash
    docker image load -i mssql.img

あなたのサーバーを起動してください

次のコマンドであなたのBitwardenサーバーを起動してください:

Bash
docker compose -f ./docker/docker-compose.yml up -d

すべてのコンテナが正しく動作していることを確認してください。

Bash
docker ps
docker-healthy.png
docker-healthy.png

おめでとうございます!Bitwardenは現在、https://your.domain.comで稼働しています。それが機能していることを確認するために、ブラウザでウェブ保管庫を訪れてください。

あなたは今、新しいアカウントを登録してログインすることができます。新しいアカウントのメールアドレスを確認するためには、SMTP環境変数(環境変数を参照)を設定する必要があります。

次のステップ:

あなたのサーバーを更新してください。

自己ホスト型のサーバーを手動でインストールし、デプロイした場合の更新は、標準的な更新手順とは異なります。手動でインストールしたサーバーを更新するには:

  1. 最新のdocker-stub.zipアーカイブをGitHubのリリースページからダウンロードしてください。

  2. 新しいdocker-stub.zipアーカイブを解凍し、その内容を現在のbwdataディレクトリの内容と比較し、新しいものをbwdataの既存のファイルにコピーしてください。
    しないでください、既存のbwdataディレクトリを新しいdocker-stub.zipアーカイブの内容で上書きしないでください。これは、あなたが行ったカスタム設定作業を上書きすることになります。

  3. 最新のコンテナイメージをダウンロードし、オフラインマシンに転送してください上記の文書化された通りに

  4. 次のコマンドを実行して、更新された設定と最新のコンテナを使用してサーバーを再起動します:

    Bash
    docker compose -f ./docker/docker-compose.yml down && docker compose -f ./docker/docker-compose.yml up -d

このページの変更を提案する

どうすればこのページを改善できますか?
技術、請求、製品に関するご質問は、サポートまでお問い合わせください。

クラウドのステータス

ステータスを確認する

あなたのサイバーセキュリティの知識をレベルアップさせましょう。

ニュースレターを購読してください。


© 2024 Bitwarden, Inc. 利用規約 プライバシー クッキーの設定 サイトマップ

このサイトは日本語でご利用いただけます。
Go to EnglishStay Here