Linux 手動デプロイメント
この記事では、Bitwardenを自分のサーバーに手動でインストールし、デプロイする手順を説明します。Bitwarden ソフトウェアリリースサポートのドキュメンテーションをご確認ください。
warning
手動インストールは、上級ユーザーのみが行うべきです。Docker技術に非常に詳しく、Bitwardenのインストールに対してより多くのコントロールを望む場合のみ、進めてください。
手動インストールでは、Bitwardenのインストールの特定の依存関係を自動的に更新する能力が欠けています。Bitwardenの一つのバージョンから次のバージョンへアップグレードすると、必要な環境変数の変更、nginx default.confの変更、docker-compose.ymlの変更など、あなたが責任を持って変更を行う必要があります。
これらをGitHubのリリースメモで強調しようと思います。Bitwardenのインストールスクリプトで使用される依存関係テンプレートの変更もGitHubで監視することができます。
インストールを進める前に、Docker EngineとDocker Composeがサーバーにインストールされ、使用準備が整っていること、そしてあなたのマシンが必要なシステム仕様を満たしていることを確認してください。
自分でBitwardenのイメージを作成している場合、公式の.NET Core Runtimeイメージ(DockerHubからダウンロード)が必要です。これらのイメージは、Bitwardenのイメージと同じメジャーリリースバージョンである必要があります。
最小限 | おすすめ | |
|---|---|---|
プロセッサー | x64、1.4GHz | x64、2GHzデュアルコア |
記憶 | 2GB RAM | 4GB RAM |
ストレージ | 12GB | 25GB |
Dockerバージョン | エンジン19+およびコンポーズ1.24+ | エンジン19+およびコンポーズ1.24+ |
私たちは、Bitwardenをインストールし実行するための専用のBitwardenサービスアカウントを持つサーバーを設定することをお勧めします。これにより、サーバー上で実行されている他のアプリケーションからBitwardenインスタンスが隔離されます。
これらの手順はBitwardenが推奨するベストプラクティスですが、必須ではありません。詳細については、DockerのLinux用のインストール後の手順のドキュメンテーションをご覧ください。
Bitwardenユーザーを作成する:
Bashsudo adduser bitwardenBitwardenユーザーのパスワードを設定します:
Bashsudo passwd bitwardenDocker グループを作成します(まだ存在しない場合):
Bashsudo groupadd dockerBitwardenユーザーをdockerグループに追加します:
Bashsudo usermod -aG docker bitwardenBitwardenディレクトリを作成します:
Bashsudo mkdir /opt/bitwarden/opt/bitwardenディレクトリの権限を設定します:Bashsudo chmod -R 700 /opt/bitwarden/opt/bitwardenディレクトリのBitwardenユーザー所有権を設定します:Bashsudo chown -R bitwarden:bitwarden /opt/bitwarden
warning
あなたがBitwardenユーザー&ディレクトリを作成した場合、bitwardenユーザーとして/opt/bitwardenディレクトリから以下を完了してください。インストール中に問題が発生する可能性があるため、 Bitwarden を root としてインストールしないでください。
Bitwardenをダウンロードし、Bitwardenサーバーのアセットを設定するには:
Bitwardenの依存関係のスタブ版(
docker-stub.zip)をGitHubのリリースページからダウンロードしてください。例えば:Bashcurl -L https://github.com/bitwarden/server/releases/download/v<version_number>/docker-stub-US.zip \ -o docker-stub-US.zip新しいディレクトリを
bwdataという名前で作成し、docker-stub.zipをそれに抽出します。例えば:Bashunzip docker-stub-US.zip -d bwdata一度解凍すると、
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から取得したインストールキーを入力してください。tip
この時点で、すべての
globalSettings__mail__smtp__変数とadminSettings__adminsの値も設定することを検討してください。これにより、新しい組織メンバーへの招待をSendするためのSMTPメールサーバーが設定され、システム管理者ポータルへのアクセスが提供されます。
./bwdataから、IDコンテナのための.pfx証明書ファイルを生成し、それをマップされたボリュームディレクトリ(デフォルトでは./bwdata/identity/)に移動してください。例えば、次のコマンドを実行します:Bashopenssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950そして
Bashopenssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORD上記のコマンドでは、
IDENTITY_CERT_PASSWORDをステップ3で作成し使用した証明書のパスワードに置き換えてください。identity.pfxを./bwdata/sslディレクトリにコピーしてください。あなたのドメインの名前で
./bwdata/sslにサブディレクトリを作成します。例えば:Bashmkdir ./ssl/bitwarden.example.com信頼できるSSL証明書と秘密鍵を新しく作成された
./bwdata/ssl/bitwarden.example.comサブディレクトリに提供してください。note
このディレクトリは、
/etc/sslのNGINXコンテナにマッピングされています。信頼できるSSL証明書を提供できない場合は、BitwardenクライアントアプリケーションにHTTPSエンドポイントを提供するプロキシでインストールをフロントにしてください。./bwdata/nginx/default.confで:すべての
bitwarden.example.comのインスタンスをあなたのドメインに置き換えてください、Content-Security-Policyヘッダーも含めて。ssl_certificateとssl_certificate_keyの変数を、ステップ7で提供された証明書と秘密鍵のパスに設定します。次のアクションのいずれかを取ります。証明書の設定によります:
信頼できるSSL証明書を使用している場合、
ssl_trusted_certificate変数を証明書のパスに設定します。自己署名証明書を使用する場合は、
ssl_trusted_certificate変数をコメントアウトしてください。
./bwdata/env/mssql.override.envで、RANDOM_DATABASE_PASSWORDをステップ3で作成したパスワードに置き換えてください。./bwdata/web/app-id.jsonで、bitwarden.example.comをあなたのドメインに置き換えてください。./bwdata/env/uid.envで、コンテナがそれらの下で実行されるように、前に作成したbitwardenユーザーとグループの UID と GID を設定します。次に例を示します。BashLOCAL_UID=1001 LOCAL_GID=1001
次のコマンドであなたのBitwardenサーバーを起動してください:
Bashdocker compose -f ./docker/docker-compose.yml up -d
すべてのコンテナが正しく動作していることを確認してください。
Bashdocker ps

おめでとうございます!Bitwardenは現在、https://your.domain.comで稼働しています。それが機能していることを確認するために、ブラウザでウェブ保管庫を訪れてください。
あなたは今、新しいアカウントを登録してログインすることができます。新しいアカウントのメールアドレスを確認するためには、SMPT環境変数を設定する必要があります(環境変数を参照してください)。
Bitwarden組織を自己ホスト型で運用する予定がある場合は、組織を自己ホストするを参照して開始してください。
詳細情報は、自己ホスト型FAQをご覧ください。
自己ホスト型のサーバーを手動でインストールし、デプロイした場合の更新は、標準的な更新手順とは異なります。手動でインストールしたサーバーを更新するには:
最新の
docker-stub.zipアーカイブをGitHubのリリースページからダウンロードしてください。新しい
docker-stub.zipアーカイブを解凍し、その内容を現在のbwdataディレクトリの内容と比較し、新しいものをbwdataの既存のファイルにコピーします。
しないでください、新しいdocker-stub.zipアーカイブの内容で既存のbwdataディレクトリを上書きしないでください。これは、あなたが行ったカスタム設定作業を上書きすることになります。次のコマンドを実行して、更新された設定と最新のコンテナを使用してサーバーを再起動します:
Bashdocker compose -f ./docker/docker-compose.yml down && docker compose -f ./docker/docker-compose.yml up -d