VPS 上で Vaultwarden をセルフホストする。
自分の Bitwarden 互換ボルト、30分で。
Vaultwarden は軽量な Rust ベースの Bitwarden 互換パスワードサーバーです。5つの Docker コマンド、1つの HTTPS リバースプロキシ、1つのバックアップ cron — そしてあなたが所有するすべてのアカウントの認証情報ボルトは、信頼するインフラではなく、あなたが借りる金属上に存在します。
- 01
Vaultwarden はワイヤーレベルとボルトレベルで Bitwarden と互換性があります — すべての公式クライアントがそのまま動作します。50〜100 MB の RAM で動作し、どの VPS でも処理できます。
- 02
ボルトはクライアント側で AES-256 暗号化されています。サーバーはマスターパスワードを決して見ません。VPS を侵害しても得られるのは暗号化されたブロブであり、認証情報ではありません。
- 03
自明でないステップはメタデータ層です — KYC に紐付いたカードでホストの支払いをすると、実際の身元がボルトの IP に結び付けられます。KYC なし・暗号通貨払いのホストはそのリンクを取り除きます。
Vaultwarden とは何か、そして何でないか。
Vaultwarden — 旧称 bitwarden_rs — は Bitwarden API の独立したサーバー側 Rust 再実装です。公式 Bitwarden サーバーと同じワイヤープロトコルを使用し、同じ暗号化フォーマットでボルトを保存し、すべての公式クライアントをそのまま受け入れます。Bitwarden のブラウザ拡張機能または iOS アプリには、Vaultwarden サーバーは bitwarden.com と区別がつきません。
興味深い違いは運用上のものです。公式の Bitwarden サーバーはエンタープライズデプロイメント向けに設計されたマルチコンテナの .NET スタックです。公開されているセルフホストイメージは快適に動作するために 2 GB の RAM と SQL Server のライセンスを期待します。Vaultwarden はデフォルトで SQLite を使用する単一の 15 MB Rust バイナリで、50 MB の RAM で快適に動作し、1秒以内にコールドスタートします。プロジェクト全体が依存関係なしに単一の Docker コンテナに収まります。
得られるのは Bitwarden の機能の全領域です — パスワードボルト、セキュアノート、身元記録、支払いカード、ファイル添付、Send(ワンタイム暗号化共有)、TOTP 認証器、共有コレクションを持つ Organizations、ハードウェアキー 2FA、ブラウザオートフィル、モバイル生体認証アンロック — 有料ティアのゲートは一切なし。Families プラン相当と Enterprise SSO 相当はどちらもセルフホストの Vaultwarden では無料です。
Vaultwarden でないもの:正式に監査されたサーバー。暗号化プリミティブは Bitwarden クライアント(独立して監査済み)から継承されていますが、Vaultwarden サーバー自体はサードパーティのセキュリティ監査を受けていません。個人または小チームのボルトには完全に合理的なトレードオフです。規制された企業にはそうではありません。
VPS の選定 — 借りるホストがスペックよりも重要な理由。
Vaultwarden は基本的にどの Linux VPS でも動作します — リソースの最低ラインが非常に低いため、スペックシートは最適化する軸として間違っています。正しい軸は、ボックスを借りるために引き渡さなければならないものです。
パスワードボルトは個人が所有する唯一最高価値のターゲットです。これを侵害すると、所有者が持つ他のすべてのアカウントへのアクセスが得られます。暗号化の姿勢はボルトの内容を保護しますが、ボルト周辺のメタデータは保護しません — 誰が IP を借りたか、どこから、どのカードで支払い、どの名前で登録したか。
完全な KYC を持つメインストリームプロバイダーから VPS を借りると、課金データベースがあなたの法的な氏名をサーバーの IPv4 に結び付けます。ホストが侵害されたり、召喚状を受けたり、または単に匿名化されたデータをマーケティング分析パートナーに売却した場合、そのリンクは残ります。ボルトは暗号化されたままですが、メタデータ層は設計上漏洩しています。
NordBastionはその逆です——登録に必要なのはメールアドレスとパスワードのみ、支払いはBitcoin、Monero、Lightningまたはその他の暗号通貨、データセンターには4つの北欧の憲法的報道自由体制があります。ボールトはあなたのものです。ボールトからあなたの身元へと遡るメタデータの痕跡は、そもそも存在しません。Vaultwardenホストには、エントリープランの<a href="/ja/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">月額$5.90のRavelin VPS</a>で十分すぎるほどです——2 vCPU、4 GB RAM、80 GB SSDで、Vaultwarden、リバースプロキシ、さらに3つのセルフホストアプリを同じサーバー上で動かすことができます。
Docker インストール。5つのコマンド、10分。
新鮮な Debian 12 VPS を起動し、非ルートの sudo ユーザーとして SSH 接続し、次の5つのブロックを実行します。vault.example.com を全体を通じて自分のサブドメインに置き換えてください — それがウェブボルトにアクセスする URL になります。
1. Docker をインストールします。 curl -fsSL https://get.docker.com | sh && sudo usermod -aG docker $USER — グループメンバーシップを有効にするためにログアウトして再ログインしてください。
2. データディレクトリを作成します。 mkdir -p ~/vw-data — Vaultwarden のすべての状態(SQLite ボルト DB、添付ファイル、アイコンキャッシュ)は1つのディレクトリに存在します。このため、バックアップは簡単です。
3. 管理者トークンを生成します。 docker run --rm vaultwarden/server /vaultwarden hash --preset owasp — プロンプトが表示されたら選択した管理者パスワードを貼り付け、生成された Argon2 ハッシュをキャプチャします。これが /admin パネルを保護します。
4. コンテナを起動します。 docker run -d --name vaultwarden --restart unless-stopped -e DOMAIN="https://vault.example.com" -e ADMIN_TOKEN の引数が第3章で生成したハッシュ、-e SIGNUPS_ALLOWED=false -e WEBSOCKET_ENABLED=true -v ~/vw-data:/data -p [redacted-ip]:80 vaultwarden/server:latest — -p [redacted-ip] バインディングが Vaultwarden をホストにプライベートに保ちます。第4章のリバースプロキシがフロントに立ちます。
5. 確認します。 curl -s http://[redacted-ip]/alive はタイムスタンプを返すはずです。返す場合、Vaultwarden は起動しています。返さない場合、docker logs vaultwarden で何が問題かが分かります — ほぼ常に ADMIN_TOKEN 環境変数のタイポです。
ステップ4の SIGNUPS_ALLOWED=false は最も忘れられがちな設定です。true のままにしておくと、URL を見つけた誰でも登録できるボルトが開かれます。自分のアカウントを作成するのに十分な時間だけ true にして、その後 false にして再起動してください。
HTTPS と管理パネル。省略不可ですが、5分で完了。
Vaultwarden は非 localhost アドレスからの平文 HTTP でのウェブボルトの提供を拒否します。すべての公式クライアントも非 HTTPS サーバーとの通信を拒否します。リバースプロキシ + Let's Encrypt のステップは残りのセットアップへのゲートです。Caddy は最も軽量なパスです — 1つのバイナリ、自動 ACME、スケジュールが必要な別の certbot なし。
vault.example.com の DNS A レコードを VPS IP に向けて伝播を待ちます(ほとんどのプロバイダーで新鮮なレコードは約2分)。sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" | sudo tee /etc/apt/sources.list.d/caddy-stable.list && sudo apt update && sudo apt install caddy。
/etc/caddy/Caddyfile に書きます:vault.example.com { reverse_proxy [redacted-ip] header_up X-Real-IP {remote_host} } — これが設定全体です。sudo systemctl reload caddy を実行すると10秒以内に Caddy が Let's Encrypt 証明書を取得し、ボルトが https://vault.example.com でアクセス可能になります。
/admin パネル。 Vaultwarden は /admin で管理 UI を公開しており、第3章で生成した Argon2 ハッシュで保護されています。そこからサインアップを無効にし(ステップ4ですでに完了)、招待およびパスワードリセットメール用の SMTP サーバーを設定し、Yubikey または Duo の 2FA を設定し、ユーザーごとの制限を設定してユーザーリストを確認できます。一度開いてすべてのセクションを確認し、設定を保存してください — それ以降は /vw-data/config.json に保存されます。
小さなハードニングの詳細:/admin を公共インターネットから完全に切り離します。Caddyfile に追加します:vault.example.com { @admin path /admin* @admin not remote_ip [redacted-ip]/8 [redacted-ip]/16 your.home.ip/32 respond @admin 404 ... } — ホーム IP 以外の人が /admin を調べると 404 が返り、パネルはオープンインターネットから見えなくなります。
バックアップ。致命的な唯一のミス。
復元できないパスワードボルトは、すでに失ったパスワードボルトです。Vaultwarden のバックアップは幸いにもシンプルです — 重要なものはすべて一つのディレクトリにあります — しかし、復元テストに関する規律こそが、機能するセットアップと将来のインシデントを分けるものです。
バックアップすべきもの。 ~/vw-data/ ツリー全体。その中:db.sqlite3 は暗号化されたボルト、attachments/ はファイル添付を保持、config.json は /admin 設定を保持、sends/ は一時的な暗号化共有を保持、rsa_key.* はセッションで使用される JWT 署名キーです。
バックアップ方法。 SQLite は .backup コマンドで並行バックアップを処理します — 毎晩の cron をスケジュールします:0 4 * * * docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup /data/db.sqlite3.bak" && tar czf /backups/vw-$(date -I).tgz -C /home/<user>/vw-data . — 50アカウントのボルトは 1 MB 未満の tar ボールを生成します。
バックアップの送信先。 同じ VPS でない場所ならどこでも。S3 互換バケットへの rclone、第2 VPS、WireGuard 経由のホーム NAS、または四半期に一度兄弟に郵送する暗号化 USB キー — 脅威モデルに合ったものを選んでください。基本的なルールは、プライマリからの地理的・管理的分離です。
復元ドリル。 第2 VPS を起動し、昨日のバックアップをコピーして ~/vw-data に展開し、第3章の docker ブロックをそこに向けて実行し、一時サブドメインでウェブボルトを開き、マスターパスワードでログインします。アカウントが開いてボルトが復号化されれば、バックアップは本物です。実際の認証情報をボルトに入れる前に今すぐこのドリルを一度実施してください。6ヶ月ごとに再実施してください。
クライアント、共有、モバイル。Bitwarden エコシステムをあなたのサーバーへ。
お好みの公式 Bitwarden クライアントをインストールします — ブラウザ拡張機能、デスクトップアプリ、iOS、Android。ログインする前に、左上の歯車アイコンをタップし、サーバーを bitwarden.com から https://vault.example.com に切り替えて、第4章で作成したアカウントでログインします。クライアントは違いを区別できず、マネージドの Bitwarden サブスクリプションと同じように動作します。
モバイルクライアントにはもう一つのステップがあります:生体認証アンロックにはデバイスが登録されている必要がありますが、iOS / Android での最初のログイン時に自動的に処理されます。ブラウザのオートフィル、モバイルのオートフィル、TOTP 生成、パスワードジェネレーター、侵害モニタールックアップ(HaveIBeenPwned)、Bitwarden Send はすべてさらなる設定なしで動作します。
ファミリー共有。 ウェブボルトで Organization を作成 → 新しい Organization → 名前を付ける(例:「Family」)、無料プラン。組織内でコレクションを作成します(「共有の請求書」「ストリーミングサービス」「WiFi & ルーター」)。各家族メンバーをサーバーローカルのメールアドレスで招待し、サインアップ時に招待を承認し、コレクションに割り当てます。その瞬間から、コレクション内のすべてのアイテムはコレクションの全メンバーに対してエンドツーエンド暗号化されます — サーバーは暗号文のみを見ます。
支払う必要のないもの。 サーバーポリシーである Bitwarden の有料機能(Organizations、共有コレクション、Families プラン相当、ハードウェアキー 2FA、Send ファイル添付)はすべて Vaultwarden ではデフォルトで解放されています。サーバーがゲートだからです。クライアントポリシーである有料機能(一部の Bitwarden モバイルプレミアムゲート)は、パッチを当てない限りクライアントが遵守します — 誠実なユーザーにとっては行う価値はありません。
質問、回答済み。
セルフホストの Vaultwarden を運用する前後と最初の1ヶ月間に生じる8つの質問。
Vaultwarden は Bitwarden と同じですか?
Vaultwarden は Bitwarden サーバーの独立した Rust ベースの再実装で、すべての公式 Bitwarden クライアント(ブラウザ拡張機能、デスクトップアプリ、iOS、Android、CLI)と完全に互換性があります。Bitwarden Inc. が制作したものではありません。ワイヤープロトコルとボルトフォーマットは同じです。サーバーバイナリのサイズはおよそ 1/100 で、50〜100 MB の RAM で快適に動作します。
ホスト型 Bitwarden の料金を払う代わりに Vaultwarden をセルフホストする理由は何ですか?
三つの理由。一つ目:他の誰もあなたの暗号化されたボルトを保持しません — Bitwarden も読めませんが、第三者を取り除くことが最もクリーンな脅威モデルです。二つ目:コスト — 月 $5 の VPS が5人家族を処理でき、残りのセルフホストスタックのための余地があります。三つ目:テレメトリなし、分析エンドポイントなし、名前に紐付いたアカウント確認メールなし。
パスワードボルトのセルフホストは実際に安全ですか?
はい — Vaultwarden は Bitwarden と同じクライアント側の暗号化を使用しています。ボルトはサーバーに送信される前にクライアントで AES-256 で暗号化されます。サーバーはマスターパスワードも平文も決して見ません。VPS の侵害では、マスターパスワードと同程度の強度の暗号化されたブロブが得られます。運用リスクはあなたにあります(バックアップ、HTTPS、サーバーハードニング)が、暗号化のリスクはマネージド Bitwarden と同一です。
どのくらいの VPS が必要ですか?
非常に少ないです。Vaultwarden 自体は 1 vCPU と 512 MB の RAM で快適に動作します。最小の NordBastion VPS(2 vCPU、4 GB、$5.90/月)は、同じボックスで Vaultwarden、リバースプロキシ、その他3つのセルフホストサービスを実行するのに十分以上です。ディスク使用量は無視できるほど小さく、添付ファイル付きの50アカウントのボルトでも 200 MB 未満に収まります。
KYC フリーの暗号通貨払いホストはパスワードマネージャーにとってなぜ重要ですか?
パスワードボルトは個人が所有する最高価値のターゲットです — 他のすべてのアカウントの認証情報が含まれています。法的な氏名でサーバーを借り、実際の身元に紐付いたカードで支払うと、ホストの課金データベースが侵害された場合、あなたの身元がボルトの IP に結び付けられます。KYC なし・暗号通貨払いのホストは、設計上そのリンクを取り除きます。ボルト自体は引き続きクライアント側で暗号化されています。KYC なしの姿勢はメタデータ層を保護します。
Vaultwarden のウェブボルトに HTTPS は本当に必要ですか?
はい、厳密に。Vaultwarden は localhost 以外のアドレスからの平文 HTTP でのウェブボルトの提供を拒否し、すべての公式クライアントも非 HTTPS サーバーとの通信を拒否します。このガイドのリバースプロキシ + Let's Encrypt のセットアップは省略不可です。良いニュース:DNS A レコードが伝播されれば、TLS 全体のステップは約3分かかります。
Vaultwarden をセルフホストする際に人々が犯す最大のミスは何ですか?
バックアップからの復元をテストしないこと。/vw-data/ の毎晩の tar.gz は、新鮮な VPS に展開して回復したウェブボルトに正常にログインするまでバックアップではありません。失敗ケースを計画してください:サーバーがなくなり、ディスクが消去され、手元にある唯一のものは昨日のバックアップファイルです — ボルトに戻ることができますか?実際の認証情報をボルトに入れる前に、そのドリルを一度実施してください。
セルフホストの Vaultwarden からファミリーとボルトを共有できますか?
はい。Vaultwarden は Bitwarden の Organizations 機能 — 共有コレクション、細かな権限、Bitwarden Families プランの相当機能を含む — を有料ティアなしで再実装しています。ウェブボルトで組織を作成し、メールで(または招待リンクを直接共有して)家族を招待すると、そこからの共有 UX は公式の Bitwarden 製品と同一です。
KYC フリーの VPS を借りて、暗号通貨で支払い、今日 Vaultwarden を動かしましょう。
Ravelin エントリーティア(2 vCPU、4 GB RAM、80 GB SSD、$5.90/月)は Vaultwarden には余裕を持って過剰なサイズで、同じボックス上の残りのセルフホストスタックのための余地を残します。
最終レビュー · 2026-05-20 · 出典 · Vaultwarden アップストリームドキュメント、Bitwarden クライアント互換性マトリクス、Let's Encrypt ACME · 頻度 · 年次
Anonymous VPS hosting in 2026 — the cluster.
This guide is one spoke of a larger series. The pillar walks the three privacy layers end to end — the sibling spokes below dive into the specifics.
Three independent layers — signup, payment, network — explained, legal context included, common mistakes flagged.
Files, calendar, contacts, photos — owned, not rented.
Postfix, Dovecot, SPF/DKIM/DMARC — deliverability included.
A meta search engine that does not log you — because you own it.
What “no KYC” actually means — and what it does not.