結論: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 通通可以直接用,不需要改任何使用習慣。
| 專案資訊 | 內容 |
|---|---|
| GitHub | dani-garcia/vaultwarden |
| Stars / Forks | 66,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 MB | 1–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 官方客戶端:
- 瀏覽器擴充功能:Chrome / Firefox / Edge 商店搜尋「Bitwarden」,安裝後在登入畫面點齒輪圖示,把伺服器網址改成
https://vw.你的網域.tld - 手機 App:iOS / Android 的 Bitwarden App 設定中同樣可以改伺服器 URL
- 桌面版:Bitwarden Desktop App 登入畫面右上角可切換伺服器
- CLI:
bw 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 分鐘照這篇裝起來,從此全家人的密碼都掌握在自己手裡。
延伸閱讀
- Azure Linux VM Nginx 搭配 Let’s Encrypt:網站安全升級全攻略
- Docker 網路大解密:從新手到高手的必備知識
- Dify 完整教學 2026:15.3 萬星開源 LLM 應用平台,從 Docker 安裝到 RAG 客服機器人實戰
- smolvm 完整教學:用硬體隔離 VM 安全執行不受信任的 Python/JavaScript 程式碼(AI Agent 沙箱實戰)
參考來源
- Vaultwarden 官方 GitHub README(66,104 stars、v1.37.2、功能清單、Docker 安裝指令)
- Vaultwarden Wiki:Enabling HTTPS / Proxy examples
- Bitwarden 官方 Help Center(客戶端設定說明)
