BitwardenをDockerでセルフホスティング

LastPassからBitwardenへ移行

LastPass無料版が3月中旬よりデバイス制限がかかるので、そろそろLastPassから離れたいため、何かパスワード管理のオープンソースがないのか調べてみたら、Bitwardenが良さそうなので、いつもながら、Dockerでセルフホスティングしてみた。

作業でやることは、ほぼ、こちら↓の記事と似たような感じです

Bitwarden 

公式はこちらです。
セルフホスティングしないのであれば、アカウント作成して利用したほうが楽です

導入準備 

  • Docker環境が整備されているサーバーがあること(docker-compose)
  • 独自ドメインのDNS設定が出来ること
  • メール送信用SMTPがあること (Gmail利用可)

docker-compose 

私の環境では、すでにnginx-proxyとLetsEncrypt用のコンテナが常時起動しているので、bitwardenのdocker-compose.ymlは下記のような記述となってます。

ほぼ、下記のGitHubを参考にさせていただきましたが、なぜか、.envファイルが読み込めなかったので、そのままdocker-compose.yml内へ記述しました

起動 

無事にdocker-composeのビルドに成功し、LetsEncryptの証明書も取得出来たら、独自ドメインで設定したサイトへアクセスします

下図のような画面が現れたら成功です。おめでとうございます!
copy as markdownの表記はスクリーンショット時に不意に入ってしまったので気にしないで

このまま、メールアドレスと、マスターパスワードを入力し、アカウント作成することで直ぐに利用が出来るようになります。

LastPassからの移行 

予め、LastPassにログインし、データをエクスポートしておきます

そして、Bitwardenへログイン後、ツールから、LastPass(csv)形式でインポートするだけです

セキュリティ 

環境変数は下記を参考にすると良い

  • アカウント作成後、以降アカウント作成する必要がなければ、下記をfalseにする
    SIGNUPS_ALLOWED=false
    INVITATIONS_ALLOWED=false
  • Admin Tokenを記述するとhttps://yourhost/adminにてadmin管理モードが使用になり、細かい設定が可能となる
  • nginx-proxyでhtpasswdで認証をかける
  • 必要以外はサービスを止める

LDAP化 

職場等で大人数で利用する場合は、アカウントをLDAP認証出来るようですが、今回は自分及び家族くらいの利用なので、導入はしておりませんので参考まで。

オンラインサービスを利用すると、改悪されたりサービス終了、データ流出の心配がある一方、セルフホスティングでは、完全に自分の管理次第でパスワード管理がおそろかになってしまうので、一長一短ではありますね。


See also