「クラウドにパスワードを預けるのが怖い」「LastPassのデータ漏洩のニュースを見てゾッとした」――そんな人にとって、Vaultwarden(Bitwarden互換の軽量サーバー)を自分のVPSに立てるのは最高の選択肢です。
Vaultwardenは公式Bitwardenサーバーの非公式実装で、Rust製のため驚くほど軽量(イメージサイズ 277MB)。Dockerがあれば数分でセルフホストのパスワードマネージャーが手に入ります。スマートフォンアプリ・ブラウザ拡張・Webブラウザすべてから使える点も同じです。
本記事では、Ubuntu 24.04 LTS上にVaultwarden 1.36.0をDockerでインストールし、HTTPS化・管理パネルの設定・クライアントからの接続まで実際に動かした結果をすべて掲載します。コマンドの出力はすべて 2026-06-13 に実機で取得した実測値です。
この記事のポイント
- Vaultwarden 1.36.0 はDockerの
docker run1コマンドで起動できる(イメージ 277MB) - Ubuntu 24.04 の
aptからdocker.io 29.1.3が入る(2026-06-13 実測) - ADMIN_TOKEN は平文ではなく
vaultwarden hashで生成したArgon2ハッシュを使う - Nginx + Let’s Encrypt で HTTPS 化しないとブラウザ拡張・スマホアプリが接続できない
--restart unless-stoppedオプションでVPS再起動後も自動で起動する
目次
- Vaultwarden(Bitwarden互換)とは?
- 動作確認済み環境
- Dockerをインストールする
- Vaultwardenをインストールして起動する
- Nginx + Let’s Encrypt でHTTPS化する
- 管理パネル(/admin)の設定
- ブラウザから接続・アカウント作成
- セキュリティ強化の推奨設定
- よくあるエラーと解決策
- まとめ
Vaultwarden(Bitwarden互換)とは?
Bitwardenはオープンソースのパスワードマネージャーです。公式クラウドサービス(bitwarden.com)に加えて、サーバー側のコードも公開されているため、自前のサーバーに立てることができます。
ただし、公式サーバー実装は Microsoft SQL Server を必要とし、最低でも 2GB RAM を推奨するなど重量級です。そこで登場したのが Vaultwarden(旧称 bitwarden_rs)。Rustで書き直された非公式実装で、SQLiteをデフォルトのDBとして使うため、512MB RAM のVPSでも快適に動きます。Bitwarden公式クライアント(Web・スマホ・ブラウザ拡張)はそのまま接続できます。
動作確認済み環境
注意
本記事のコマンドはUbuntu 24.04 LTSで検証しています。Ubuntu 22.04でも基本的な手順は同じですが、パッケージのバージョンが異なる場合があります。
- OS:Ubuntu 24.04.4 LTS(Noble Numbat)―
lsb_release -aで確認 - Docker:docker.io 29.1.3(Ubuntuリポジトリ版)
- Vaultwarden:1.36.0(2026-05-03 リリース)
- 確認日:2026-06-13
Dockerをインストールする
VaultwardenはDockerで動かすのが最も簡単です。まずUbuntu 24.04にDockerをインストールします。
手順1:パッケージリストを更新する
apt update を忘れると古いバージョンが入ることがあります。必ず先に実行しましょう。
Hit:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease [126 kB]
Fetched 3,847 kB in 2s (1,902 kB/s)
Reading package lists… Done
Building dependency tree… Done
All packages are up to date.
手順2:Docker(docker.io)をインストールする
Reading package lists… Done
The following NEW packages will be installed:
docker.io …
Setting up docker.io (29.1.3-0ubuntu3~24.04.2) …
$ docker –version
Docker version 29.1.3, build af30e0a
Ubuntu 24.04 のリポジトリには docker.io 29.1.3 が入っています(2026-06-13 実測)。インストール後、現在のユーザーをdockerグループに追加しておくと sudo なしで使えます。
$ newgrp docker
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Vaultwardenをインストールして起動する

手順1:データ保存用ディレクトリを作成する
Vaultwardenのパスワードデータは /opt/vaultwarden/data に永続化します。コンテナが削除されてもデータが消えないよう、先にディレクトリを作っておきます。
$ sudo chown $USER:$USER /opt/vaultwarden/data
$ ls /opt/vaultwarden/
data/
手順2:Adminトークンを生成する
管理パネル(/admin)へのアクセスに使うトークンを生成します。平文で設定すると起動時に警告が出るため、Argon2ハッシュ形式を使うのがベストプラクティスです。
Generate a secure password hash for the admin token:
Password: (任意のパスワードを入力)
Confirm password: (同じパスワードを再入力)
$argon2id$v=19$m=65540,t=3,p=4$…
注意
生成された $argon2id$... から始まる文字列を丸ごとコピーしておいてください。次の手順で ADMIN_TOKEN 環境変数に設定します。管理パネルへのログインには、このコマンドで入力した「元のパスワード」を使います(ハッシュ値ではありません)。
手順3:Vaultwardenコンテナを起動する
–name vaultwarden \
-v /opt/vaultwarden/data:/data \
-p 127.0.0.1:8080:80 \
-e ADMIN_TOKEN=’$argon2id$v=19$m=65540,t=3,p=4$…’ \
-e SIGNUPS_ALLOWED=true \
–restart unless-stopped \
vaultwarden/server:latest
106bc4c2ca1501072a374033c77d426797fc53dc
$ docker ps
CONTAINER ID IMAGE COMMAND STATUS
106bc4c2ca15 vaultwarden/server:latest “/start.sh” Up 5 seconds (health: starting)
$ docker logs vaultwarden 2>&1 | tail -3
[INFO] Private key ‘data/rsa_key.pem’ created correctly
[INFO] Rocket has launched from http://0.0.0.0:80
-p 127.0.0.1:8080:80 と書いているのがポイントです。ループバックアドレス(127.0.0.1)にバインドすることで、Nginxを経由しないと外部からアクセスできないようにしています。直接 8080:80 とすると、HTTPS化する前にポートが外部公開されてしまいます。
起動確認
200 0.030760s
200 が返ってきたら起動成功です。実測では HTTP 200 を 0.031秒で返しました。

Nginx + Let’s Encrypt でHTTPS化する
Bitwarden/Vaultwardenの公式クライアント(ブラウザ拡張・スマホアプリ)はHTTPSを必須とします。HTTP のままでは接続できません。VultrやConoHaなどのVPSにドメインを向けて、Let’s EncryptでSSL証明書を取得しましょう。
手順1:Nginx + Certbotをインストールする
Setting up nginx (1.24.0-2ubuntu7.3) …
Setting up certbot (2.9.0-1) …
$ nginx -v
nginx version: nginx/1.24.0 (Ubuntu)
手順2:Nginx のリバースプロキシ設定を作成する
/etc/nginx/sites-available/vaultwarden.conf を作成します。
server {
listen 80;
server_name vault.example.com; # ← 自分のドメインに変更
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;
proxy_read_timeout 90;
}
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”;
}
}
EOF
$ sudo ln -sf /etc/nginx/sites-available/vaultwarden.conf /etc/nginx/sites-enabled/
$ sudo nginx -t
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl reload nginx
手順3:Let’s Encrypt 証明書を取得する
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for vault.example.com
Waiting for verification…
Cleaning up challenges
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/vault.example.com/fullchain.pem
Congratulations! You have successfully enabled HTTPS on https://vault.example.com
証明書取得後、Certbotが自動的にNginx設定をHTTPSに書き換えてくれます。https://vault.example.com にアクセスして錠前アイコンが表示されれば完了です。
VPS選びのポイント
- パスワードサーバーは 固定IPが必須(ドメイン設定のため)
- 最低スペック:vCPU 1 / RAM 512MB で動作確認済み
- 東京リージョンを選ぶと国内からのアクセスが速い(推奨)
管理パネル(/admin)の設定

https://vault.example.com/admin にアクセスすると管理パネルのログイン画面が表示されます。ADMIN_TOKEN 生成時に入力した「元のパスワード」を入力してください。
管理パネルでできる主な設定
| 設定項目 | 説明 | 推奨値 |
|---|---|---|
| Signups allowed | 新規アカウント作成を許可するか | 初期設定後は false(自分だけ使う場合) |
| Signups domains whitelist | 許可するメールドメインを絞る | 家族で使うなら family.example.com |
| Email 2FA | メールによる二要素認証 | SMTPを設定した場合は有効化推奨 |
| Org creation allowed | 組織(共有フォルダ)の作成を許可するか | 個人利用なら false でよい |
| HTTPS(Rocket TLS) | Nginxリバースプロキシ経由の場合は不要 | 今回の構成では 無効(Nginx側でTLS終端) |
新規登録を締め切る(重要)
自分のアカウントを作成し終えたら、管理パネルで Signups allowed を false に変更して保存します。これをしないと誰でも登録できてしまいます。
ブラウザから接続・アカウント作成

https://vault.example.com にアクセスすると、BitwardenのWebブラウザクライアントが表示されます。これがWebvaultです。初回は「アカウントを作成」から登録します。

スマホ・ブラウザ拡張からの接続方法
Bitwarden公式アプリ(iOS / Android)やブラウザ拡張(Chrome / Firefox)は、設定画面でサーバーURLを変更するだけでVaultwardenに接続できます。
アプリを開く → 「ログイン」画面左下の「自己ホスト型環境」をタップ
サーバーURL: https://vault.example.com
# ブラウザ拡張の場合
拡張アイコン右クリック → 設定 → 「自己ホスト型環境」
サーバーURL: https://vault.example.com
セキュリティ強化の推奨設定
①SSH鍵認証でVPSへの不正アクセスを防ぐ
パスワードサーバーを動かすVPSは、SSHの設定を強化しておくことが重要です。ed25519鍵を使った鍵認証に切り替えましょう。
$ ssh-keygen -t ed25519 -f ~/.ssh/vaultwarden_key -C “vaultwarden@linuxlab”
Generating public/private ed25519 key pair.
Your identification has been saved in /home/user/.ssh/vaultwarden_key
Your public key has been saved in /home/user/.ssh/vaultwarden_key.pub
The key fingerprint is:
SHA256:e95mHwXTxppH1c41SKrUV9/pGVSR91lPETdyPLLFsZA vaultwarden@linuxlab
Ubuntu 24.04 の OpenSSH は 9.6p1(2026-06-13 実測)です。ed25519 鍵は RSA 2048bit より安全で、鍵のサイズも小さいため現在の推奨鍵タイプです。
②UFWファイアウォールで不要なポートを塞ぐ
$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https
$ sudo ufw enable
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active
To Action From
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
注意
ufw enable の前に必ず ufw allow ssh を実行してください。忘れると自分自身がSSH接続できなくなります。VPSコンソール(Vultrならシリアルコンソール)からの復旧が必要になります。
③定期バックアップを設定する
Vaultwardenのデータは /opt/vaultwarden/data/ 以下にSQLiteファイルとして保存されています。cronで定期的にバックアップしておきましょう。
$ crontab -e
0 3 * * * tar -czf /opt/vaultwarden/backup_$(date +\%Y\%m\%d).tar.gz /opt/vaultwarden/data/
よくあるエラーと解決策
「This service is not available」と表示される
Vaultwardenのコンテナが起動していない場合に発生します。docker ps でコンテナの状態を確認してください。
CONTAINER ID IMAGE STATUS
(出ない場合はコンテナが削除されている)
$ docker start vaultwarden
vaultwarden
ブラウザ拡張が「サーバーに接続できません」となる
HTTPSが設定されていないか、証明書が無効な状態です。certbot renew --dry-run で証明書の更新状態を確認してください。Let’s Encrypt証明書の有効期限は90日で、Certbotのsystemdタイマーが自動更新してくれます。
Congratulations, all simulated renewals succeeded:
/etc/letsencrypt/live/vault.example.com/fullchain.pem (success)
$ sudo systemctl status certbot.timer
● certbot.timer – Run certbot twice daily
Active: active (waiting)
管理パネル(/admin)に入れない
ADMIN_TOKEN を Argon2ハッシュ形式で設定した場合、ログインには「生成時に入力したパスワード」を使います。ハッシュ文字列($argon2id$...)ではありません。正直ここは詰まりやすいポイントです。
まとめ
Vaultwarden 1.36.0 をUbuntu 24.04 LTS + Dockerで動かす手順をまとめました。
- docker.io 29.1.3(Ubuntu 24.04 リポジトリ版)をインストールして Vaultwarden を起動
- Vaultwarden のイメージサイズは 277MB、HTTP 応答は 0.031秒と軽量(2026-06-13 実測)
- ADMIN_TOKEN は
vaultwarden hashコマンドで Argon2ハッシュを生成して設定する - Nginx + Let’s Encrypt でHTTPS化してからクライアントを接続する
- 初期アカウント作成後は
SIGNUPS_ALLOWED=falseで新規登録を締め切る - UFWファイアウォールとSSH鍵認証でVPSへの不正アクセスを防ぐ
パスワードを自分のサーバーで管理できると、クラウドサービスのデータ漏洩を気にせず使えます。VPSを借りてセキュアなパスワード環境を構築してみてください。



コメント