Nginxリバースプロキシとの組み合わせ
VaultwardenはHTTPSが必須のため、NginxをリバースプロキシとしてSSL終端させる構成が定番です。Let’s Encryptで無料SSL証明書を取得して使います。
Nginx設定例
server {
listen 80;
server_name vault.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name vault.example.com;
ssl_certificate /etc/letsencrypt/live/vault.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vault.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /notifications/hub {
proxy_pass http://127.0.0.1:3012;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
WebSocket通知(/notifications/hub)は専用ポート3012で受け付けるため、Upgradeヘッダーの設定が必要です。忘れると、クライアントがリアルタイム同期できなくなります。
まとめ
VaultwardenはBitwardenと完全互換でありながら、ラズベリーパイのような低スペックのマシンでも軽快に動作するセルフホスト型パスワードマネージャーです。本記事では次のポイントを押さえました。
- DockerによるVaultwardenの導入:数コマンドで立ち上げられるシンプルな構成
- 永続ボリュームとバックアップ:データ消失リスクを最小化するための基本設定
- NginxリバースプロキシによるHTTPS化:Let’s Encryptを活用した無料SSL証明書の適用
- WebSocket通知の設定:リアルタイム同期を実現するための専用ポート対応
クラウドサービスにパスワードを預けることへの不安がある方や、サブスクリプションコストを抑えたい方にとって、Vaultwardenは有力な選択肢です。一度構築してしまえば運用コストも低く、家族や小規模チームでの共有利用にも適しています。
よくある質問(FAQ)
Q. Bitwardenの公式アプリからそのまま接続できますか?
A. はい。モバイルアプリ・デスクトップアプリ・ブラウザ拡張のいずれも、サーバーURLをVaultwardenのアドレスに変更するだけで利用できます。
Q. 管理者コンソールにはどこからアクセスしますか?
A. https://vault.example.com/admin にアクセスし、環境変数ADMIN_TOKENで設定したトークンを入力します。初回はランダムな強力なトークンを生成して設定してください。
Q. HTTPSなしで動かすことはできますか?
A. ローカルネットワーク内での検証目的であればDOMAINをhttp://で設定することも可能ですが、WebAuthnや一部の機能が無効になります。本番運用では必ずHTTPSを使用してください。
Q. データのバックアップはどうすればいいですか?
A. Vaultwardenのデータは/vw-dataディレクトリ(SQLiteファイルを含む)に集約されています。このディレクトリを定期的にrsyncやクラウドストレージへコピーするだけでバックアップが完了します。


コメント