Vaultwarden 完整教學 2026:自架 Bitwarden 相容密碼管理器,Rust 實作、66K 星開源、記憶體只要 10MB(Docker 安裝+HTTPS 設定)

Vaultwarden 是 Bitwarden 官方伺服器的開源替代實作,用 Rust 寫成,GitHub 66K 星、記憶體佔用不到 10MB,可直接搭配官方 App、瀏覽器擴充功能與 CLI 使用。本文從 Docker 安裝、環境變數設定、反向代理與 HTTPS、自動備份到與官方版完整比較,帶你 30 分鐘內自架一套屬於自己的密碼管理器。

  • Dennis
  • 7 分鐘閱讀
Vaultwarden 完整教學 2026:自架 Bitwarden 相容密碼管理器,Rust 實作、66K 星開源、記憶體只要 10MB(Docker 安裝+HTTPS 設定)

結論:Vaultwarden 是一款用 Rust 寫成的開源 Bitwarden 相容伺服器(GitHub 66K 星、AGPL-3.0),記憶體閒置不到 10MB、用 Docker 兩分鐘就能裝好,所有 Bitwarden 官方 App、瀏覽器擴充功能與 CLI 都能直接連上使用——是個人與家庭自架密碼管理器最省資源、最成熟的選擇。 這篇帶你從安裝、HTTPS、備份到常見問題一次搞定。

為什麼要自架密碼管理器?

先講一個真實的情境:你的密碼可能散落在 Chrome 自動填入、手機備忘錄、Line 記事本、甚至 Excel 檔裡。資安專家會告訴你,最好的做法是「每個網站都用一組獨一無二的長密碼」——但人類根本記不住,所以你需要一個密碼管理器。

密碼管理器的主流選擇是付費雲端服務(1Password、Bitwarden Premium),但有些人會問:

  • 密碼是數位時代最敏感的資料,為什麼要放在別人的伺服器上?
  • 公司或家庭成員多,付費方案一個人一年就要 10 美元起跳
  • 想要完全掌控自己的資料,包括備份策略

自架(Self-hosted) 就是答案:把密碼管理器跑在自己的 NAS、樹莓派或 VPS 上。而開源社群最推薦的自架方案,就是本文主角 Vaultwarden

Vaultwarden 是什麼?

Vaultwarden 是 Bitwarden 官方伺服器的開源替代實作。官方伺服器是 .NET 寫的,官方也提供自架版本,但要求 SQL Server 資料庫、記憶體動輒 1–2 GB,對個人使用者來說太重了。

Vaultwarden 用 Rust 重寫了 Bitwarden 的伺服器 API,搭配 SQLite 資料庫,閒置記憶體不到 10MB——連樹莓派 Zero 都跑得動。而且它相容 Bitwarden 的客戶端生態系,所有官方 App、瀏覽器擴充功能、CLI 通通可以直接用,不需要改任何使用習慣。

專案資訊內容
GitHubdani-garcia/vaultwarden
Stars / Forks66,104 / 3,138
授權AGPL-3.0
語言Rust(基於 Rocket web framework)
資料庫SQLite
最新版本1.37.2(2026-08-22 發布)
原名Bitwarden_RS(2021 年更名以避混淆)

注意:Vaultwarden 不是 Bitwarden 官方專案,與 Bitwarden Inc. 無關。唯一的關聯是:Vaultwarden 有位活躍維護者受僱於 Bitwarden,利用私人時間參與開發(貢獻內容會經過其他維護者審查)。

Vaultwarden vs 官方 Bitwarden 伺服器

如果你在「自架 Vaultwarden」與「自架官方 Bitwarden」之間猶豫,這張表可以直接幫你下決定:

比較項目Vaultwarden官方 Bitwarden Server
語言/框架Rust + Rocket.NET(C#)
資料庫SQLite(單檔,備份超簡單)需 SQL Server
閒置記憶體< 10 MB1–2 GB 起跳
安裝難度Docker 一條指令多容器、依賴多
個人免費✅ 完整功能付費版才有組織等功能
客戶端相容全部 Bitwarden 官方客戶端官方客戶端
授權AGPL-3.0部分專有(Server 本身也有 AGPL 版)
適合對象個人/家庭/小團隊企業級部署

個人或家庭使用,Vaultwarden 幾乎是無腦選擇——功能完整、資源極省、備份只要複製一個 SQLite 檔。

功能總覽:它到底能幹嘛?

Vaultwarden 實作了 Bitwarden Client API 的絕大部分功能,包括:

  • 個人密碼庫(Personal Vault):帳號密碼、信用卡、身分證件、安全筆記
  • Send 安全分享:設定時效的一次性密碼/檔案分享連結
  • 附件(Attachments):把檔案加密存在密碼庫裡
  • 組織(Organizations):密碼共享、成員角色、群組、事件日誌、管理員密碼重設、Policies 政策控制
  • 雙重驗證(2FA/MFA):支援 Authenticator App、Email、FIDO2 WebAuthn、YubiKey、Duo
  • 緊急存取(Emergency Access):指定信任的人在你失聯時存取密碼庫
  • 管理後台(Admin Backend):網頁版管理介面,可看稽核紀錄、設定 SMTP

換句話說,Bitwarden 付費版的功能,Vaultwarden 幾乎全包,而且不用付錢。

Step 1:用 Docker 安裝 Vaultwarden

Vaultwarden 官方強烈建議用容器(container image 發布在 ghcr.io、docker.io、quay.io 三個 registry)。最簡單的 Docker CLI 安裝方式:

docker pull vaultwarden/server:latest
docker run --detach --name vaultwarden \
  --env DOMAIN="https://vw.你的網域.tld" \
  --volume /vw-data/:/data/ \
  --restart unless-stopped \
  --publish 127.0.0.1:8000:80 \
  vaultwarden/server:latest

幾個重點:

  • DOMAIN 務必設定為你最終要使用的 HTTPS 網址——這是 Web Crypto API 的安全要求,設錯之後改會很麻煩
  • /vw-data/ 是你的全部資料(SQLite 資料庫+附件),一定要掛 volume 持久化
  • 只綁定 127.0.0.1:8000,不直接暴露到外網,由反向代理(Nginx/Caddy)接手——這是最安全的架構

更正式一點,用 Docker Compose 管理(建議直接抄這份):

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vw.你的網域.tld"
      SIGNUPS_ALLOWED: "false"      # 建立帳號後記得關閉開放註冊!
      ADMIN_TOKEN: "用 openssl rand -base64 48 產生"  # 管理後台密碼
    volumes:
      - ./vw-data/:/data/
    ports:
      - 127.0.0.1:8000:80

💡 安全提醒:Vaultwarden 預設允許任何人註冊帳號。自己或家人註冊完畢後,務必把 SIGNUPS_ALLOWED 設為 false 並重啟容器,否則你的密碼管理器會變成公開的免費密碼庫託管服務。

Step 2:HTTPS 是必選題,不是選配

Vaultwarden 的網頁版(Web Vault)強制要求 HTTPS——因為瀏覽器的 Web Crypto API 只在安全上下文(Secure Context)下運作。沒有 HTTPS,加密/解密功能直接不能用。

最常見的架構是用 Nginx 或 Caddy 做反向代理,搭配 Let’s Encrypt 免費憑證。Nginx 的關鍵設定長這樣:

server {
    listen 443 ssl;
    server_name vw.你的網域.tld;

    ssl_certificate     /etc/letsencrypt/live/vw.你的網域.tld/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/vw.你的網域.tld/privkey.pem;

    client_max_body_size 525M;  # 附件上傳需要

    location / {
        proxy_pass http://127.0.0.1:8000;
        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;
    }
}

如果你不熟悉 Nginx+Let’s Encrypt 的完整流程,本站有一篇Azure Linux VM Nginx 搭配 Let’s Encrypt 的完整攻略,觀念完全通用;想搞懂反向代理底層的網路原理,可以看Docker 網路大解密

Step 3:讓 Bitwarden 客戶端連上來

安裝完畢後,不用裝任何新軟體——直接用 Bitwarden 官方客戶端:

  1. 瀏覽器擴充功能:Chrome / Firefox / Edge 商店搜尋「Bitwarden」,安裝後在登入畫面點齒輪圖示,把伺服器網址改成 https://vw.你的網域.tld
  2. 手機 App:iOS / Android 的 Bitwarden App 設定中同樣可以改伺服器 URL
  3. 桌面版:Bitwarden Desktop App 登入畫面右上角可切換伺服器
  4. CLIbw config server https://vw.你的網域.tld 然後 bw login

改完伺服器網址,輸入你註冊的帳號密碼——你的密碼庫就同步到你自己的伺服器上了。

Step 4:備份——最重要的求生技能

自架最大的責任就是自己備份。好消息是 Vaultwarden 的備份極其簡單:整個 /vw-data/ 目錄複製一份就完成了(主要就是 SQLite 單一檔案)。

建議的備份策略(cron 每日執行):

#!/bin/bash
# 每日凌晨 3 點備份到 /backup
mkdir -p /backup/vaultwarden
sqlite3 /vw-data/db.sqlite3 ".backup '/backup/vaultwarden/db-$(date +%F).sqlite3'"
cp /vw-data/config.json /backup/vaultwarden/ 2>/dev/null || true
# 保留最近 14 天
find /backup/vaultwarden -name "*.sqlite3" -mtime +14 -delete

⚠️ SQLite 線上直接複製檔案可能產生不一致備份,用 sqlite3 .backup 指令或先停容器再複製比較安全。備份檔請放到另一台機器(或雲端物件儲存),雞蛋不要放在同一個籃子。

常見問題(FAQ)

Q:Vaultwarden 安全嗎?密碼放在自己伺服器上比雲端安全? 密碼庫本體在客戶端用 AES-256 加密後才上傳,伺服器端(無論官方或自架)都看不到你的主密碼與明文密碼——這是 Bitwarden 架構的設計。自架的優勢是資料不經第三方之手,劣勢是備份、更新、資安維護都變成你的責任。兩種選擇都合理,端看你願不願意付出維護成本。

Q:可以多個裝置同步嗎? 可以。Vaultwarden 就是同步伺服器,手機、平板、桌機、瀏覽器擴充功能全部即時同步。

Q:家人都能用嗎? 可以。每人註冊自己的帳號,或用組織(Organization)功能做密碼共享——例如家庭 Wi-Fi 密碼、Netflix 帳號、共同銀行帳戶,一個共享資料夾全部搞定。

Q:跟 1Password 比呢? 1Password 是優秀的付費雲端服務,介面與體驗一流;Vaultwarden 勝在免費、開源、資料自主。如果你不介意自己維護,功能上 Vaultwarden 幾乎不輸。

Q:Vaultwarden 有 Bug 要找誰? 不要找 Bitwarden 官方客服。Vaultwarden 有獨立的 Matrix 聊天室、GitHub Discussions 與 Discourse 論壇,回報問題請走這三個管道。

總結

Vaultwarden 是自架密碼管理器領域的事實標準:66K 星的社群認證、Rust 的極致資源效率、完整的 Bitwarden 客戶端相容性。如果你有一台 NAS 或 VPS,花 30 分鐘照這篇裝起來,從此全家人的密碼都掌握在自己手裡。

延伸閱讀

參考來源

📬 訂閱 most.tw 電子報

每週精選 AI 工具教學與技術乾貨,直接送到你的信箱。免費、隨時可退訂。

💬 有問題想討論?加 LINE 聯絡我

歡迎透過 LINE 官方帳號直接留言,我會盡快回覆你的問題。

加入 LINE 好友