Linux 手動デプロイメント
この記事では、Bitwardenを自分のサーバーに手動でインストールし、デプロイする手順を説明します。Bitwarden ソフトウェアリリースサポートのドキュメンテーションをご確認ください。
注意
手動インストールは、上級ユーザーのみが行うべきです。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 bitwarden
Bitwardenユーザーのパスワードを設定します:
Bashsudo passwd bitwarden
Docker グループを作成します(まだ存在しない場合):
Bashsudo groupadd docker
Bitwardenユーザーをdockerグループに追加します:
Bashsudo usermod -aG docker bitwarden
Bitwardenディレクトリを作成します:
Bashsudo mkdir /opt/bitwarden
/opt/bitwarden
ディレクトリの権限を設定します:Bashsudo chmod -R 700 /opt/bitwarden
/opt/bitwarden
ディレクトリのBitwardenユーザー所有権を設定します:Bashsudo chown -R bitwarden:bitwarden /opt/bitwarden
注意
あなたが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から取得したインストールキーを入力してください。チップ
この時点で、すべての
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
サブディレクトリに提供してください。備考
このディレクトリは、
/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
このページの変更を提案する
どうすればこのページを改善できますか?
技術、請求、製品に関するご質問は、サポートまでお問い合わせください。