皆さんはアカウントやパスワードの管理、どうされていますか。
いろいろなパスワードマネージャーサービスが存在しているのでそれらを使っているという方々も多くいらっしゃるかと思います。
その中の一つに「Bitwarden」というサービスがあるのですが、これがセルフホスティングに対応しているということだったのでUbuntu環境に導入してみました。
システム要件
Minimum | Recommended | |
Processor | x64, 1.4GHz | x64, 2GHz dual core |
Memory | 2GB RAM | 4GB RAM |
Storage | 10GB | 25GB |
Docker Version | Engine 19+ Compose 1.24+ |
Engine 19+ Compose 1.24+ |
メモリが1GBの環境でも多少遅くなるくらいでいけるかと思って立ててみたのですが、あるDockerコンテナが2GBのメモリを必要としていてダメでした。
Minimumの要件は必ず満たす必要があるようです。
導入手順
下記のページに詳しく載っているのでそれに沿って進めれば大丈夫ですが、一部、Dockerの設定ファイルを見ないと分からないようなところがありました。
- Dockerのインストールをします。
下記のページに従って各プラットフォームに対応したDockerをインストールします。Ubuntu Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multiple methods to install Docker Engine on U... - Docker Composeのインストールをします。
下記のページに従って各プラットフォームに対応したDocker Composeをインストールします。Install Learn how to install Docker Compose. Compose is available natively on Docker Desktop, as a Docker Engine plugin, and as a standalone tool. - Bitwarden用ユーザーを作成します。
sudo adduser bitwarden
パスワードも入力します。
ユーザー情報は特に必要がなければ何も入力せずにエンターでいいと思います。 - dockerグループを作成します。
sudo groupadd docker
既に存在している場合もありますが、その旨がメッセージで表示されるので問題ありません。
- Bitwarden用ユーザーをdockerグループに追加します。
sudo usermod -aG docker bitwarden
- Bitwarden用のディレクトリを作成し、パーミッションとオーナーを変更します。
sudo mkdir /opt/bitwarden sudo chmod -R 700 /opt/bitwarden sudo chown -R bitwarden:bitwarden /opt/bitwarden
- インストールスクリプトをダウンロードします。
ここからの作業はBitwarden用ユーザーになって、Bitwarden用のディレクトリ上で行います。curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh
- インストールスクリプトを実行します。
./bitwarden.sh install
対話形式で進みますのでそれぞれ必要事項を入力して進めていきます。
Enter the domain name for your Bitwarden instance (ex. bitwarden.example.com):
ドメイン名を入力します。Do you want to use Let’s Encrypt to generate a free SSL certificate? (y/n):
Let’s Encryptの無料SSL証明書を発行するかどうかです。
今回は事前に発行していたものがあったのでnを入力しました。Enter your installation id (get at https://bitwarden.com/host):
インストールの際、Installation idとInstallation keyが必要になります。
表示されているURLにアクセスして取得し、それを入力します。Enter your installation key:
上記手順で取得したInstallation keyを入力します。Do you have a SSL certificate to use? (y/n):
既に取得しているSSL証明書を使うかどうかです。
前述の通り、今回は取得済みのSSL証明書を使うのでyを入力しました。Is this a trusted SSL certificate (requires ca.crt, see docs)? (y/n):
正式な署名があるのか、自己署名(いわゆるオレオレ証明)なのかの選択です。
今回はyを入力しました。 - SSL証明書を配置します。
/opt/bitwarden/bwdata/ssl/ドメイン名配下に配置します。
秘密鍵はprivate.key、証明書はcertificate.crt、CA証明書はca.crtというファイル名にします。 - 環境変数の設定をします。
いわゆる.envファイルです。
/opt/bitwarden/bwdata/env/global.override.env
こちらのファイルの下記項目について、適宜設定します。globalSettings__mail__replyToEmail=no-reply@ドメイン名 globalSettings__mail__smtp__host=smtpサーバー名 globalSettings__mail__smtp__port=送信ポート globalSettings__mail__smtp__ssl=SSLを使うかどうか(true | false) globalSettings__mail__smtp__username=smtpユーザーアカウント globalSettings__mail__smtp__password=smtpユーザーパスワード adminSettings__admins=管理者メールアドレス
今回、ポートとして587、SSLを使う、という設定を行ったのですがうまくメールが送信されませんでしたが、下記を追記することで解消しました。
globalSettings__mail__smtp__trustServer=true
- 起動
./bitwarden.sh restart
「Bitwarden is up and running!」が表示されれば起動完了です。
まとめ
インストールから起動までをまとめてみました。
正常にインストールされていると、このようなトップ画面が表示されます。
実際に使ってみた感想などは機会がありましたら記事にしたいと思います。
コメント