パスワードマネージャーは不可欠になりましたが、ほとんどの人は1PasswordやLastPassのようなクラウドサービスに毎月のサブスクリプションを支払うか、さらに悪いことに、どこでも同じ弱いパスワードを使い回しています。しかし、3つ目の選択肢があります:自分自身でホストするパスワードマネージャーで、これは有料の代替品と同じくらい優れており、完全に無料で、あなたの完全なコントロール下にあります。
Vaultwardenを紹介します — すべての公式Bitwardenクライアントと互換性のある軽量のオープンソースサーバーです。これは、暗号化されたパスワードを自分のハードウェアに保存しながら、完全なBitwarden体験(ブラウザ拡張機能、モバイルアプリ、デスクトップアプリ、CLI)を提供します。サブスクリプションなし、クラウド依存なし、信頼の問題なし。
このガイドでは、Docker Composeを使用してゼロからVaultwardenをセットアップします。最後には、何もかからずに実行でき、あなたの最も機密性の高いデータを正確にあなたのもとに保つ家族向けのパスワードマネージャーが手に入ります。
なぜVaultwardenなのか?
セットアップに入る前に、なぜVaultwardenが自己ホスト型パスワード管理の選択肢として最適なのかを理解しましょう:
| 機能 | Vaultwarden | Bitwardenクラウド | 1Password |
|---|---|---|---|
| コスト | 無料(自己ホスト型) | /bin/zsh-40/年 | -60/年 |
| ファミリープラン | 無料(無制限ユーザー) | /年(6ユーザー) | /年(5ユーザー) |
| データストレージ | あなたのサーバー | Bitwardenクラウド | 1Passwordクラウド |
| エンドツーエンド暗号化 | ✅ Bitwardenと同じ | ✅ | ✅ |
| ブラウザ拡張機能 | ✅ すべてのブラウザ | ✅ | ✅ |
| モバイルアプリ | ✅ iOS & Android | ✅ | ✅ |
| デスクトップアプリ | ✅ Win/Mac/Linux | ✅ | ✅ |
| 組織/共有 | ✅ 完全サポート | ✅(プレミアム) | ✅ |
| 2FA(TOTP) | ✅ 内蔵 | ✅(プレミアム) | ✅ |
| 緊急アクセス | ✅ | ✅(プレミアム) | ❌ |
| 送信(安全な共有) | ✅ | ✅ | ❌ |
| オフラインアクセス | ✅ ローカルボールトコピー | ✅ | ✅ |
重要なポイント:VaultwardenはBitwardenの公式サーバーと同じAPIを実装しているため、まったく同じクライアント体験を得られます — 洗練されたアプリ、シームレスな自動入力、安全な共有 — クラウドホスティングに支払うことなく。公式のBitwardenサーバーはかなりのリソース(複数のコンテナ、SQLサーバー)を必要としますが、VaultwardenはRaspberry Piで快適に動作します。
必要なもの
要件は最小限です:
- サーバー — 任意のLinuxマシン、VPS、NAS、またはRaspberry Piでも可。Vaultwardenは約50MBのRAMを使用します。
- DockerおよびDocker Compose — 推奨されるインストール方法。
- ドメイン名(推奨) — HTTPSアクセス用。必要に応じてDuckDNSのようなサービスから無料のサブドメインを使用できます。
- 約10分 — 本当にそれだけ早いです。
🔒 セキュリティ第一
- ⚠️HTTPSは必須です。Bitwardenクライアントは、正しく機能するために安全なコンテキスト(HTTPS)を必要とします。これを設定する方法を説明します。
- 💡マスターパスワードは決して保存されません — ただの暗号化ハッシュです。誰かがあなたのサーバーを盗んでも、マスターパスワードなしではあなたのパスワードを読むことはできません。
ステップ1:Dockerをインストールする
Dockerがまだインストールされていない場合は、公式の便利スクリプトを使ってセットアップします:
# Dockerをインストール
curl -fsSL https://get.docker.com | sh
# ユーザーをdockerグループに追加
sudo usermod -aG docker clawdbot
# ログアウトして再ログインし、確認
docker --version
docker compose version
ステップ2:Vaultwardenディレクトリを作成する
パスワードマネージャー用の専用ディレクトリを作成します:
# ディレクトリを作成して移動
mkdir ~/vaultwarden
cd ~/vaultwarden
ステップ3:Docker Composeファイルを作成する
docker-compose.ymlファイルを作成します:
# コンポーズファイルを作成
nano docker-compose.yml
この設定を貼り付けます:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.yourdomain.com"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: "your-secure-admin-token-here"
SMTP_HOST: "smtp.gmail.com"
SMTP_FROM: "[email protected]"
SMTP_PORT: "587"
SMTP_SECURITY: "starttls"
SMTP_USERNAME: "[email protected]"
SMTP_PASSWORD: "your-app-password"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"
主要な設定を分解しましょう:
- DOMAIN: HTTPSを使用したあなたの完全なURL。これはウェブボールトが正しく機能するために必要です。
- SIGNUPS_ALLOWED: 最初は「true」に設定してアカウントを作成し、セットアップ後に「false」に変更します。
- ADMIN_TOKEN: 管理パネルにアクセスするための安全なトークン。次のコマンドで生成します:
openssl rand -base64 48 - SMTP_*: パスワードリセットと通知のためのメール設定。オプションですが推奨されます。
- ポートバインディング: 外部アクセスはリバースプロキシがHTTPSで処理するため、127.0.0.1のみにバインドします。
🔑 安全な管理トークンを生成する
# 安全なトークンを生成
openssl rand -base64 48
# 例:kR9h2s8K...長いランダム文字列...
# これをあなたのADMIN_TOKENとして使用します
このトークンを安全に保管してください — これはあなたのVaultwarden管理パネルへの完全なアクセスを提供します。
ステップ4:CaddyでHTTPSを設定する(推奨)
BitwardenクライアントはHTTPSを必要とします。これを設定する最も簡単な方法は、SSL証明書を自動的に処理するCaddyを使用することです。
Caddyをdocker-compose.ymlに追加します:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.yourdomain.com"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: "your-secure-admin-token-here"
volumes:
- ./vw-data:/data
networks:
- vaultwarden
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/config
networks:
- vaultwarden
networks:
vaultwarden:
driver: bridge
Caddyfileを作成します:
# Caddyfileを作成
nano Caddyfile
この設定を追加します:
vault.yourdomain.com {
reverse_proxy vaultwarden:80
}
vault.yourdomain.comを実際のドメインに置き換えます。CaddyはLet's Encrypt証明書を自動的に取得して更新します。
ステップ5:Vaultwardenを起動する
すべてを開始します:
# 画像をプルして起動
docker compose up -d
# ログを確認
docker compose logs -f
CaddyがSSL証明書を取得するのに1分ほど待ってください。次のようなメッセージが表示されるはずです:
caddy | vault.yourdomain.comの証明書を正常に取得しました
ステップ6:アカウントを作成する
ブラウザでhttps://vault.yourdomain.comに移動します。Bitwardenのウェブボールトインターフェースが表示されます。「アカウントを作成」をクリックして、マスターパスワードを設定します。
🔐 マスターパスワードのヒント
- ✅パスフレーズを使用してください — 4つ以上のランダムな単語は、複雑なパスワードよりも覚えやすく、より安全です
- ✅例:「correct-horse-battery-staple-piano」(でも自分で作ってください!)
- ⚠️このパスワードは失われた場合に回復できません — マスターキーの「パスワードを忘れた」オプションはありません
- 💡書き留めて安全な場所に保管してください(物理的な金庫、安全預金箱)
ステップ7:公共のサインアップを無効にする
アカウントが作成されたら、公共の登録を無効にします:
# docker-compose.ymlを編集
nano docker-compose.yml
# 変更:
SIGNUPS_ALLOWED: "false"
# 再起動
docker compose up -d
新しいユーザーは、管理パネルを通じて招待されるか、組織の権限を持つ既存のユーザーによって作成されることができます。
ステップ8:Bitwardenクライアントを設定する
自己ホスティングの利点がここにあります — 公式のBitwardenアプリを使用し、あなたのサーバーを指すだけです。
ブラウザ拡張機能
ブラウザ用のBitwarden拡張機能をインストールします(Chrome、Firefox、Safari)。
- 拡張機能のアイコンをクリックし、「自己ホスト型」を選択します
- サーバーのURLを入力します:
https://vault.yourdomain.com - アカウントでログインします
モバイルアプリ
App StoreまたはGoogle PlayからBitwardenをインストールします。
- 地域選択をタップします(デフォルトで「bitwarden.com」と表示されます)
- 「自己ホスト型」を選択します
- サーバーのURLを入力してログインします
毎回マスターパスワードを入力せずに迅速にアクセスできるように、生体認証ロック(Face ID、指紋)を有効にします。
デスクトップアプリ
bitwarden.com/downloadからダウンロードします — Windows、macOS、Linux用に利用可能です。同じ設定:設定 → 自己ホスト型 → URLを入力します。
ファミリー共有の設定
Vaultwardenの最も優れた機能の1つは無制限の組織です — 家族とパスワードを共有するのに最適です。
ファミリー組織を作成する
- ウェブボールトにログインします
- 「新しい組織」をクリックします
- 名前を付けます(例:「家族のパスワード」)
- 「無料」プランを選択します(すべての機能が利用可能です)
家族メンバーを招待する
- 組織に移動 → メンバー
- 「ユーザーを招待」をクリックします
- 彼らのメールアドレスを入力します
- 役割を選択します(メンバー、管理者、またはオーナー)
サインアップが無効になっている場合は、管理パネル(https://vault.yourdomain.com/admin)を使用してアカウントを直接作成します。
共有コレクションを作成する
コレクションは特定のメンバーと共有できるフォルダーのようなものです:
- ストリーミングサービス — Netflix、Disney+など(全員と共有)
- WiFiパスワード — 自宅のネットワーク、親戚の家
- 共有サブスクリプション — みんなが使う家族アカウント
- 緊急情報 — 銀行口座、保険(信頼できるメンバーに制限)
重要なセキュリティ強化
あなたのパスワードボールトは高価値のターゲットです。以下の方法でロックダウンします:
二要素認証を有効にする
ウェブボールトにログイン → アカウント設定 → 二段階ログイン。オプションは次のとおりです:
- 認証アプリ(Google Authenticator、Authyなど) — 推奨
- YubiKey — 最大のセキュリティのためのハードウェアキー
- メール — あなたのメールにコードを送信します(SMTP設定が必要)
Fail2Banを設定する
ログイン試行に失敗した後にIPを禁止することで、ブルートフォース攻撃から保護します。/etc/fail2ban/filter.d/vaultwarden.confを作成します:
[Definition]
failregex = ^.*ユーザー名またはパスワードが正しくありません\. 再試行してください\. IP: <ADDR>\. ユーザー名:.*$
ignoreregex =
そして/etc/fail2ban/jail.d/vaultwarden.local:
[vaultwarden]
enabled = true
port = 80,443
filter = vaultwarden
logpath = /path/to/vw-data/vaultwarden.log
maxretry = 5
bantime = 1h
findtime = 15m
定期的なバックアップ
あなたのボールトデータは./vw-dataディレクトリにあります。定期的にバックアップを取ります:
# シンプルなバックアップスクリプト
#!/bin/bash
BACKUP_DIR="/backup/vaultwarden"
DATE=20260210
# 一貫性のためにコンテナを停止
docker compose -f ~/vaultwarden/docker-compose.yml stop
# 暗号化されたバックアップを作成
tar -czf - ~/vaultwarden/vw-data | gpg --symmetric --cipher-algo AES256 > "/vaultwarden-.tar.gz.gpg"
# 再起動
docker compose -f ~/vaultwarden/docker-compose.yml up -d
バックアップはオフサイトに保管してください — 別のサーバー、クライアント側の暗号化を施したクラウドストレージ、または金庫に保管されたUSBドライブなど。
高度な機能
Bitwarden Send
Sendを使用すると、誰とでもテキストやファイルを安全に共有できます — Bitwardenアカウントを持っていない人とも。ゲストとWiFiパスワードを共有したり、機密文書を送信するのに最適です。
- 任意のBitwardenクライアントでSendに移動します
- 新しいSend(テキストまたはファイル)を作成します
- 有効期限、最大アクセス数、オプションのパスワードを設定します
- 生成されたリンクを共有します
緊急アクセス
何かが起こった場合にあなたのボールトへのアクセスを要求できる信頼できる連絡先を指定します:
- 設定 → 緊急アクセスに移動します
- 信頼できる連絡先を追加します(彼らはVaultwardenアカウントが必要です)
- 待機期間を設定します(例:7日間)
- 彼らがアクセスを要求し、待機期間内にあなたが拒否しなければ、彼らはあなたのボールトへの読み取り専用アクセスを得ます
管理パネル
https://vault.yourdomain.com/adminでADMIN_TOKENを使用して管理パネルにアクセスします。ここでできること:
- すべてのユーザーと組織を表示
- 新しいユーザーを招待したり、アカウントを削除
- サーバーの設定と診断を確認
- データベースのメンテナンスを実行
既存のパスワードのインポート
別のパスワードマネージャーから移行していますか?Bitwardenはほぼすべてのものからインポートできます:
Chrome/Firefoxから
- ブラウザからパスワードをエクスポートします(通常はCSV形式)
- Bitwardenウェブボールトで:ツール → データをインポート
- ソース形式としてブラウザを選択します
- ファイルをアップロードします
1Password、LastPass、Dashlaneなどから
- 現在のマネージャーからエクスポートします(エクスポートオプションについては彼らのドキュメントを確認してください)
- Bitwardenで:ツール → データをインポート
- ドロップダウンからソースアプリケーションを選択します
- エクスポートファイルをアップロードします
インポート後:エクスポートファイルを安全に削除してください — それにはすべてのパスワードがプレーンテキストで含まれています!
Vaultwardenを最新の状態に保つ
更新にはセキュリティ修正や新機能が含まれます。定期的に更新します:
# Vaultwardenディレクトリに移動
cd ~/vaultwarden
# 最新のイメージをプル
docker compose pull
# 新しいバージョンで再起動
docker compose up -d
# 古いイメージをクリーンアップ
docker image prune -f
メジャーアップデートの前に、Vaultwardenリリースページで変更ログや重大な変更を確認してください。
トラブルシューティング
ウェブボールトにアクセスできない
DOMAIN環境変数が実際のURLと正確に一致していることを確認してください- SSL証明書を確認します:
curl -I https://vault.yourdomain.com - Caddyのログを確認します:
docker compose logs caddy
メール通知が機能しない
- Gmailを使用している場合は、アプリパスワードが必要です(通常のパスワードではありません)
- 管理パネル → 診断でSMTP設定を確認します
- 管理パネルからテストメールを送信してみてください
モバイルアプリが接続できない
- HTTPSを使用していることを確認してください(HTTPではありません)
- SSL証明書が有効であることを確認します(自己署名ではない、デバイスにインストールしていない場合)
- まず、携帯電話のブラウザでウェブボールトのURLにアクセスしてみてください
FAQ
VaultwardenはBitwardenと同じくらい安全ですか?
はい。Vaultwardenは同じ暗号化スキーム(AES-256-CBCとPBKDF2-SHA256またはArgon2id)を実装しています。あなたのボールトは、サーバーにデータが触れる前に、マスターパスワードでローカルに暗号化されます。誰かがあなたのサーバーを侵害しても、マスターパスワードなしではあなたのパスワードを読むことはできません。
サーバーがダウンしたらどうなりますか?
Bitwardenクライアントはボールトをローカルにキャッシュします。オフラインでもパスワードにアクセスして自動入力できます。ただし、サーバーがオンラインに戻るまで新しい変更を同期することはできません。
複数のデバイスで使用できますか?
もちろんです。好きなだけデバイスにログインできます — 電話、タブレット、コンピュータ、ブラウザ。変更は自動的に同期されます。
パスワードやユーザーに制限はありますか?
人工的な制限はありません。好きなだけパスワードを保存し、必要なだけユーザーアカウントや組織を作成できます。唯一の制限は、サーバーのストレージスペースです。
後でBitwardenクラウドに戻ることはできますか?
はい。Vaultwardenからボールトをエクスポートし(ツール → ボールトをエクスポート)、その後Bitwardenクラウドアカウントにインポートします。あなたのデータはポータブルです。
次は何をすべきですか?
あなたは今、自分のインフラストラクチャ上で動作するプロフェッショナルグレードのパスワードマネージャーを持っています。これを最大限に活用する方法は次のとおりです:
- すべてのパスワードをインポートします — ブラウザや他のマネージャーから
- すべてのデバイスにブラウザ拡張機能をインストールします — 自動入力はゲームチェンジャーです
- ファミリー共有を設定します — 共有サブスクリプションやアカウントのために
- どこでも2FAを有効にします — VaultwardenはあなたのTOTPコードも保存できます
- もっと自己ホスト型アプリを探求します — Hostlyのディレクトリで — 次は写真バックアップソリューションですか?
パスワードのセキュリティはもはやオプションではありません — 必要不可欠です。Vaultwardenを使用することで、商業用パスワードマネージャーの洗練された体験と、自己ホスティングのプライバシーとコントロールの両方を手に入れることができます。あなたのパスワードはあなたのものであり、あなたのハードウェア上で暗号化され、マスターパスワードでのみアクセス可能です。
月額料金なし。データマイニングなし。信頼は必要ありません。あなたとあなたの家族のための安全でプライベートなパスワード管理だけです。