Dockerを使ったVaultwardenのインストール方法:パスワードをセルフホスティングするための完全ガイド

最終更新日: 2026年08月31日

  • Vaultwardenは、Bitwardenクライアントと互換性のある非公式サーバーです。
  • /dataフォルダは永続ボリュームを使用して保存する必要があります。
  • 他のデバイスからのアクセスには、適切に設定されたHTTPSアドレスが必要です。
  • 必要なアカウントを作成したら、開いているログを無効にしてください。
Docker Composeを使用してVaultwardenをインストールする方法

Vaultwardenを使用すると、Bitwardenクライアントと互換性のあるパスワードマネージャーを独自のサーバー上でホストできます。これにより、情報の保存場所、サービスへのアクセス権限、バックアップの実行方法などを自由に決定できます。

最初に明確にしておくべきことは、 Vaultwardenは公式のBitwardenサーバーではありませんこれは、Rustで記述された独立したコミュニティ主導の実装であり、BitwardenのAPIの多くを再現しています。そのため、Bitwardenの公式モバイルアプリ、デスクトッププログラム、および拡張機能と併用できます。

サービスを自己ホスティングすると、より多くの制御が可能になりますが、 それは必ずしもセキュリティの向上を保証するものではありませんその時点から、アップデートのインストール、アクセス権限の保護、ログの確認、HTTPSの維持、バックアップの復元可能性の確保はすべてあなたの責任となります。

関連記事:
最高のパスワードマネージャー

DockerでVaultwardenをインストールするために必要なもの

DockerでVaultwardenをインストールするために必要なもの

始める前に、パスワードの同期時に電源が入ったままになる、Docker互換のシステムが必要です。Linuxサーバー、NAS、ミニPC、またはイメージでサポートされているアーキテクチャのRaspberry Piなどが考えられます。

また、以下のものも必要になります。

  • Docker Engine インストール済みで正常に動作しています。
  • 現在の追加機能 Docker Compose.
  • データを永続的に保存できるフォルダ。
  • Dockerを管理するための権限を持つターミナルへのアクセス。
  • 他のデバイスからサービスを利用する場合は、安全なアクセス方法が必要です。

すべてのインストールに共通のメモリやストレージ要件はありません。消費量は、ユーザー数、添付ファイル、ストレージサイズ、および同じコンピュータで実行されている他のサービスによって異なります。家庭での使用では、通常は軽量なアプリケーションですが、十分なスペースを確保する必要があります。 データとそのバックアップ.

インストール状況を確認するには、以下を使用してください。

docker --version
docker compose version

両方のコマンドでバージョンが表示された場合は、続行できます。

Docker Composeを使用してVaultwardenをインストールする方法

Dockerを使用してVaultwardenをインストールする方法

専用のフォルダを作成し、そこに入ります。

mkdir vaultwarden
cd vaultwarden

フォルダ内に、 compose.yml この初期設定では:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data:/data
    ports:
      - "127.0.0.1:8080:80"

アセンブリ ./vw-data:/data それは不可欠です。フォルダ /data このフォルダには、サーバーで使用されるデータベース、添付ファイル、設定、およびキーが含まれています。このフォルダを保存せずにコンテナを削除すると、保存されている情報が失われます。

住所 127.0.0.1 この初期インストールでは、サーバー自体のみが応答します。これは、ポートをネットワークに公開せずにVaultwardenをテストするのに適した構成です。

コンテナを起動します。

docker compose up -d

ステータスを確認してください:

docker compose ps
docker compose logs --tail=100 vaultwarden

同じデバイスから以下のものを開くことができます。

http://localhost:8080

アクセス方法 localhost これは初期設定を完了するために使用します。別のコンピューター、モバイルアプリ、または拡張機能から接続するには、HTTPSを使用して安全なアドレスを設定する必要があります。

最初のアカウントを作成して登録を完了する方法

ウェブインターフェースを開き、最初のアカウントを作成して、ログインできることを確認してください。 長くて、ユニークで、覚えやすいマスターパスワード倉庫全体へのアクセスを保護するため。

必要なアカウントを作成したら、編集します compose.yml そして変更点:

SIGNUPS_ALLOWED: "true"

による:

SIGNUPS_ALLOWED: "false"

コンテナを再作成して変更を適用します。

docker compose up -d

Vaultwardenでは、デフォルトで匿名ユーザーがアカウントを作成できるようになっています。登録を不必要に開放しておくと、第三者がサーバー容量を占有したり、許可なくサーバーを使用したりすることが容易になります。

限定コンテンツ - ここをクリックしてください  情報セキュリティ

後で管理パネルを有効にすれば、公開登録が無効になっている場合でも招待状を送信できるようになります。

VaultwardenにHTTPSが必要な理由

ウェブストアはブラウザのWeb Crypto APIを使用します。これらの暗号化機能は通常、 HTTPSやlocalhostなどのセキュアなコンテキスト.

このため、 http://192.168.1.50:8080 別のコンピュータからアクセスした場合、コンテナが実行中でもエラーが表示されることがあります。ネットワーク上でポートを公開しても、HTTPSの設定は置き換えられません。

Vaultwardenには、主に3つの使用方法があります。

  • サーバーのみ: アクセス方法 localhostテストに役立ちます。
  • プライベートネットワークまたはVPNの場合: アクセスは制限されているが、有効なHTTPS証明書は維持されている。
  • インターネットより: ドメイン、リバースプロキシ、有効な証明書、および適切に設定されたファイアウォール。

自宅以外で使用する場合、Vaultwardenを公開する必要はありません。VPNを使用すれば、認証されたデバイスからのアクセスを制限できますが、クライアントが使用するアドレスには、クライアントが認識できる証明書が必要です。

CaddyでHTTPSを設定する方法

CaddyでHTTPSを設定する方法

Caddyは、ACMEを通じて証明書の要求と更新を自動的に行うことができるため、最もシンプルな選択肢の一つです。公開証明書を使用するには、ドメインがサーバーに解決され、必要なポートにアクセスできる必要があります。

このファイルは、VaultwardenとCaddyの共同設定に使用できます。 compose.yml:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "false"
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2
    container_name: vaultwarden-caddy
    restart: unless-stopped
    depends_on:
      - vaultwarden
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config

置き換え vault.example.com 実際のドメインに対して。次に、次のファイルを作成します。 Caddyfile:

vault.example.com {
    reverse_proxy vaultwarden:80 {
        header_up X-Real-IP {remote_host}
    }
}

サービスの有効化:

docker compose up -d

Caddyは、Composeによって作成された内部ネットワークを介してコンテナにリクエストを送信します。現在の構成では、同じ宛先を介してWebSocket通知も処理できるため、別のVaultwardenポートを公開する必要はありません。

変数 DOMAIN 正確な外部 URL を含める必要があります。 https://誤ったアドレスは、添付ファイル、リンク、認証、またはクライアントに問題を引き起こす可能性があります。

公式Bitwardenアプリを接続する方法

拡張機能のログイン画面、モバイルアプリ、またはデスクトッププログラムで、サーバーセレクターを開き、オプションを選択します。 セルフホスティング.

住所をすべて入力してください。

https://vault.example.com

ログインする前に設定を保存してください。変更内容を正しく同期するには、各クライアントが同じサーバーに接続されている必要があります。

民間認証局が発行した証明書を使用する場合は、すべてのデバイスにその認証局を適切にインストールして信頼する必要があります。互換性の問題を回避するには、有効な公開証明書、または信頼チェーンを適切に管理できる民間のソリューションを使用することをお勧めします。

クライアントが接続されたら、 ChromeのパスワードをVaultwardenにインポートする そして、それらがすべてのデバイスに表示されることを確認してください。

管理パネルを保護する方法

Vaultwardenにはオプションのパネルがあります /adminそこから、ユーザー、組織、診断情報、および特定のサーバーオプションを確認できます。

パネルが必要ない場合は、最も安全な方法は 無効のままにしておく有効にするには、設定する必要があります ADMIN_TOKENパスワードを平文で保存する代わりに、Argon2idハッシュを生成します。

docker run --rm -it vaultwarden/server /vaultwarden hash

このコマンドはパスワードを2回要求し、次の文字列を返します。 $argon2id$.

ドル記号の問題を回避する便利な方法は、それをファイルに保存することです。 .env 隣に位置する compose.yml:

VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=...'

次に、サービスに以下を追加します。

environment:
  ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"

ハッシュを直接書き込む場合 compose.yml各ドル記号を二重にする必要があります。 $$ Docker Composeがそれを変数として解釈しようとするのを防ぐため。

限定コンテンツ - ここをクリックしてください  Facebookのパスワードを見つける方法

処理済み構成を確認するには、以下を使用してください。

docker compose config

パネルへのアクセスはHTTPS経由のみにしてください。可能であれば、アクセス経路をローカルネットワーク、VPN、または特定のIPアドレスに制限してください。

オプションを保存した後、 /adminVaultwarden が作成します config.jsonその値は、同等の環境変数よりも優先されます。この優先順位により、Composeを編集しても変化が見られないケースが多数発生します。

ヴォールトウォーデンを保護するための必須措置

セキュリティ対策はHTTPSを有効にするだけで終わりではありません。少なくとも以下の対策を実施してください。

  • レジストリを開くことを無効にするには、 SIGNUPS_ALLOWED=false.
  • 固有の強力なマスターパスワードを使用してください。
  • アクティブ 2段階認証 すべてのアカウントに適用されます。
  • 認証回復コードは別の安全な場所に保存してください。
  • イメージとホストシステムを定期的に更新してください。
  • コンテナ内に不要なフォルダやDockerソケットをマウントしないでください。
  • ファイアウォールを使用して、本当に必要なポートのみを制限してください。
  • データベースやフォルダを公開しないでください vw-data.

Fail2banは、ログイン失敗回数が累積したアドレスをブロックできますが、リバースプロキシが存在する場合は慎重に設定する必要があります。CaddyまたはNginxは実際のIPアドレスを送信する必要があります。そうしないと、Fail2banがプロキシ自身のIPアドレスをブロックしてしまう可能性があります。

パスワードヒントの表示を無効にすることもできます。サーバーが一般公開されている場合、これらのヒントは推測攻撃を容易にする可能性があります。

これらの慣行についてさらに詳しく知りたい場合は、 パスワードマネージャーを安全に利用する.

メール通知の設定方法

SMTP設定を使用すると、招待状、確認メール、通知メールを送信できます。メールサービスから提供されるサーバー、送信者、ポート、セキュリティ方式、認証情報を指定する必要があります。

SMTPメールを保管庫のバックアップと混同しないでください。また、アカウント復旧の唯一の手段として頼るべきではありません。マスターパスワードを忘れてしまい、別の復旧方法を設定していない場合、暗号化されたデータにアクセスできなくなる可能性があります。

設定を保存した後、テストメッセージを送信し、届かない場合はログを確認してください。また、迷惑メールフォルダとSMTPプロバイダの制限も確認してください。

Vaultwardenの完全バックアップを作成する方法

SQLiteデータベースにはユーザー、アイテム、デバイス、組織が格納されますが、 すべてのファイルが含まれているわけではありません添付ファイルおよび一部の提出物は、別のディレクトリに保存されます。

完全なコピーには以下を含める必要があります。

  • db.sqlite3 または、データベースの整合性のあるコピー。
  • フォルダ attachments.
  • フォルダ sendsそれらのファイルを保存しておきたい場合は、そうしてください。
  • ファイル config.jsonパネルを使用する場合。
  • ファイル rsa_key*.
  • Composeファイル、Caddy、およびそれらの変数。

シンプルで一貫性のあるバックアップを行うには、Vaultwardenを一時的に停止し、フォルダをアーカイブしてください。

docker compose stop vaultwarden
tar -czf vaultwarden-backup-$(date +%F).tar.gz vw-data compose.yml Caddyfile .env
docker compose start vaultwarden

ファイルには、管理トークンとSMTP認証情報が含まれている可能性があります。 コピーする前に暗号化してください 別のコンピュータまたはリモートストレージに転送します。

サービスを停止したくない場合は、VaultwardenにはSQLiteのコピーメカニズムを使用するコマンドが含まれています。

docker exec vaultwarden /vaultwarden backup

このコマンドはデータベースを保護しますが、添付ファイル、設定ファイル、キーは別途バックアップする必要があります。バックアップを自動化し、少なくとも1つはサーバー外に保存し、定期的に復元テストを実施してください。

限定コンテンツ - ここをクリックしてください  Windowsが再起動を要求するが更新が完了しない:原因と解決策

Dockerを使用してVaultwardenをアップデートする方法

更新する前に、検証済みのコピーを作成してください。その後、以下を実行してください。

docker compose pull
docker compose up -d

ステータスと最新メッセージを確認してください。

docker compose ps
docker compose logs --tail=100 vaultwarden

Docker はイメージをダウンロードしてコンテナを再作成し、 vw-dataグローバルクリーンアップコマンドを使用する前に、どのコンテナ、イメージ、ネットワークが削除されるのかを必ず確認してください。

安定性が非常に重要なインストール環境では、常にデフォルトバージョンを使用する代わりに、特定のバージョンのイメージを固定することができます。 latestこうすることで、リリースノートを確認し、各アップデートをいつ適用するかを判断できます。

Dockerを使用してVaultwardenをインストールする際によくある間違い

Dockerを使用してVaultwardenをインストールする際によくある間違い

このインターフェースはローカルホスト上では動作しますが、他のコンピュータからは動作しません。

港は 127.0.0.1 または、ブラウザがHTTP経由でのアクセス時に暗号化機能を拒否する場合があります。他のデバイスからサービスを利用する前に、HTTPSアドレスを設定してください。

公式クライアントはサーバーに接続できません

環境を選択してください セルフホスティング そして正確な住所を入力してください https://証明書、DNS、プロキシ、および変数を確認してください DOMAIN.

コンテナは起動するが、再作成されるとデータが消えてしまう。

音量調節が正しく取り付けられていません。 ./vw-data:/data 設定に表示され、想定されたフォルダーから Compose が実行されていることを確認してください。

別のアカウントを作成できません

Si SIGNUPS_ALLOWEDfalseこの動作は正常です。管理画面から招待状を送信するか、アカウント作成中のみ一時的に登録を有効にしてください。

ADMIN_TOKENハッシュが機能していません

符号の補間をチェックする $ファイルを使用する .env 文字列をComposeに直接挿入する場合は、シングルクォーテーションを使用するか、記号を二重にしてください。

環境変数は無視されているようだ

存在するかどうか確認する vw-data/config.jsonパネルから保存されたオプションは、で定義された変数を上書きする可能性があります。 compose.yml.

証明書はブラウザでは機能しますが、モバイルデバイスでは機能しません。

デバイスが証明書チェーン全体を信頼していない可能性があります。信頼できる認証局を使用するか、独自の認証局とその証明書を正しくインストールしてください。

添付ファイルが失敗します

確認する DOMAIN 外部アドレスと一致させ、プロキシが必要なリクエストサイズを許可していることを確認してください。また、利用可能なスペースと権限を確認してください。 vw-data.

Vaultwardenはvw-data内部に書き込むことができません

ホストフォルダのアクセス許可に互換性がありません。ログに表示されているエラーに基づいて、所有者とアクセス許可を確認してください。使用しないでください chmod 777 恒久的な解決策として。

Fail2banは不正なアドレスをブロックします

プロキシが実際のIPアドレスを送信していないか、Fail2banが誤ったフィールドを読み取っている可能性があります。正しく設定してください。 X-Real-IP または、プロキシに対応するヘッダー。

復元されたコピーには添付ファイルは含まれていません。

SQLiteのみがバックアップされていました。フォルダも復元してください。 attachments y sendsRSA構成と鍵に加えて。

Vaultwarden では、組織やコレクションを使用して 家族のパスワードを共有する 互換性のあるクライアントを使用してください。ユーザーを追加する前に、HTTPS、二段階認証、およびバックアップが正しく機能していることを確認してください。

その結果、高速でプライベートかつ適応性の高いパスワードマネージャーが実現する可能性があるが、そのセキュリティはメンテナンスに依存する。サーバーを制御するメリットは、アップデート、アクセス制限、そして実績のある復旧戦略が伴う場合にのみ得られる。

ファイルを送信せずに家族とパスワードを安全に共有する方法
関連記事:
ファイルを送信せずに家族とパスワードを安全に共有する方法