Vaultwardenは、安全で手軽にパスワードを管理できる自己ホスト型のBitwarden互換サーバー、Rustによる高い信頼性と、Dockerによる容易な導入、そして豊富な機能で、端末でのBitwardenでの使用に全く問題ない。
■vaultwarden をインストール
インストールディレクトリの作成
sudo mkdir -p /mnt/data/docker/vaultwarden cd /mnt/data/docker/vaultwarden
docker-compose.yml ファイルを作成してvaultwarden インストール
nano /mnt/data/docker/vaultwarden/docker-compose.yml
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
DOMAIN: "https://ubuntu-sv.xxxxxxxx.ts.net/vault/"
ADMIN_TOKEN: "◯◯◯◯◯◯◯◯◯◯◯◯◯"
SIGNUPS_ALLOWED: "false"
volumes:
- ./vw-data:/data
ports:
- "8080:80"
ADMIN_TOKEN: "◯◯◯◯◯◯◯◯◯◯◯◯◯"
https://ubuntu-sv.xxxxxxxx.ts.net/vault/admin
管理画面入室用トークン
SIGNUPS_ALLOWED: "false"
上記トークンを忘れた時に上記を"true"にして、docker compose restart すれば入室可能
https://ubuntu-sv.xxxxxxxx.ts.net/vault/admin
管理画面入室用トークン
SIGNUPS_ALLOWED: "false"
上記トークンを忘れた時に上記を"true"にして、docker compose restart すれば入室可能
ファイアウォールの設定
sudo ufw allow 8080/tcp sudo ufw reload
TailscaleにHTTPS化を任せる
sudo tailscale serve --bg 8080
HTTPSのURLを確認する
tailscale status
ティルネット名の確認 Tailscale Admin Console にログインして、上段メニュー>DNS>Tailnet DNS name を探す。
HTTPSで接続するためのURLは、Tailscaleのルールに基づき以下のようになる。
https://[マシン名].[テイルネット名].ts.net
上記をvaultwarden/docker-compose.yml に入力。
Tailscale HTTPS の有効化
sudo tailscale serve --bg 8080
vaultwarden コンテナの起動
cd /mnt/data/docker/vaultwarden sudo docker compose up -d
Apache 設定ファイルに追記 nano /etc/apache2/sites-available/vafee2.conf
<VirtualHost *:80>
ServerAlias ubuntu-sv.xxxxxxxx.ts.net
# 2. Vaultwarden(末尾スラッシュ必須)
ProxyPass /vault/ http://127.0.0.1:8080/vault/
ProxyPassReverse /vault/ http://127.0.0.1:8080/vault/
</VirtualHost>
■Bitwarden サーバーからデータを自鯖に移行
Windows機で、Bitwarden に、ログインして、今まで使用していたメールアドレスでログイン
ツール>保管庫をエクスポート> .json 形式で保存
Ubuntu機で、Bitwarden に、ログインして、新規メールアドレスでアカウントを作成
ツール>データのインポート> Bitwarden .json 形式>ファイルをインポート
windows機・Android機・iPhone機で、Bitwarden に新しいアカウントでログインして、データをセルフホスト(Self-hosted)を選択し、先のアドレスを入力。
問題なく運用できたら、古いBitwarden のアカウントを削除。
これで、Googleパスワード・Appleパスワードを削除し、Bitwarden のパスワードは自鯖に格納し、Tailscale で堅固なセキュリティで守ることになった。