開源專案article
Vaultwarden:輕量級 Bitwarden 伺服器(Rust 實作)
Vaultwarden:輕量級 Bitwarden 伺服器(Rust 實作)
2026年4月6日4 分鐘閱讀👁 2
Vaultwarden:輕量級 Bitwarden 伺服器(Rust 實作)
來源: GitHub - dani-garcia/vaultwarden
分類: 開源專案、密碼管理、自架服務、Rust、Docker
整理時間: 2026-03-02
專案簡介
Vaultwarden 是用 Rust 編寫的非官方 Bitwarden Client API 伺服器實作,與官方 Bitwarden 客戶端完全相容,專為自架部署設計,特別適合無法運行官方資源密集型服務的環境。
前身:原名 bitwarden_rs,於 v1.21.0 重新命名為 Vaultwarden,以區隔官方服務並避免商標問題。
核心特色
💡 為什麼選擇 Vaultwarden
- 輕量級:資源占用遠低於官方 Bitwarden 伺服器
- 完整功能:幾乎完整實作 Bitwarden Client API
- 自架友善:Docker/Podman 一鍵部署
- 相容性:支援所有官方 Bitwarden 客戶端(桌面、行動、瀏覽器)
- 開源免費:完全開源,無需 Bitwarden Premium 訂閱也能使用組織功能
✨ 主要功能
個人功能
- ✅ 個人密碼庫(Personal Vault)
- ✅ Send(加密分享檔案/文字)
- ✅ 附件(Attachments)
- ✅ 網站圖示(Website Icons)
- ✅ 個人 API Key
組織功能
- ✅ 組織管理(Organizations)
- ✅ 集合(Collections)
- ✅ 密碼共享(Password Sharing)
- ✅ 成員角色(Member Roles)
- ✅ 群組(Groups)
- ✅ 事件日誌(Event Logs)
- ✅ 管理員密碼重置(Admin Password Reset)
- ✅ 目錄同步(Directory Connector)
- ✅ 政策(Policies)
安全功能
- ✅ 多因素認證(2FA):
- Authenticator(TOTP)
- FIDO2 WebAuthn
- YubiKey
- Duo
- ✅ 緊急存取(Emergency Access)
管理功能
- ✅ Vaultwarden 管理後台(Admin Backend)
- ✅ 修改版 Web Vault(內建於容器)
安裝與部署
📦 推薦方式:Docker/Podman
容器映像發布平台:
Docker CLI 部署
# 拉取最新映像
docker pull vaultwarden/server:latest
# 運行容器
docker run --detach --name vaultwarden \
--env DOMAIN="https://vw.domain.tld" \
--volume /vw-data/:/data/ \
--restart unless-stopped \
--publish 127.0.0.1:8000:80 \
vaultwarden/server:latest
說明:
--volume /vw-data/:/data/:持久化數據存儲(可自訂路徑)--publish 127.0.0.1:8000:80:僅本地訪問,需配合反向代理使用--env DOMAIN:設定對外訪問網域
Docker Compose 部署
建立 compose.yaml 檔案:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vw.domain.tld"
volumes:
- ./vw-data/:/data/
ports:
- 127.0.0.1:8000:80
執行:
docker compose up -d
🔒 安全性要求
重要:Web Vault 需要安全上下文(Web Crypto API)才能運作。
僅支援以下方式:
- ✅
http://localhost:8000(本地開發) - ✅ 啟用 HTTPS(生產環境必須)
建議:使用反向代理(Nginx、Caddy、Traefik)處理 HTTPS。
部署架構建議
🏗️ 推薦架構
用戶端(Bitwarden 客戶端)
↓ HTTPS
反向代理(Nginx/Caddy/Traefik)
↓ HTTP
Vaultwarden 容器(127.0.0.1:8000)
↓
持久化存儲(/vw-data/)
📝 反向代理範例
詳見 Wiki - Proxy Examples,涵蓋:
- Nginx
- Caddy
- Traefik
- Apache
其他安裝方式
📦 社群套件
- Third-party packages(可能落後最新版本或配置不同)
🛠️ 從源碼編譯
- Building binary(進階用戶)
技術細節
🦀 技術棧
- 語言:Rust
- Web 框架:Rocket
- 資料庫:SQLite(預設)、MySQL、PostgreSQL(可選)
- 容器化:Docker、Podman
📊 專案數據
- ⭐ GitHub Stars:38K+(高人氣)
- 🍴 Forks:1.9K+
- 📦 容器下載量:數百萬次
- 🛠️ 活躍維護:持續更新
社群與支援
💬 聯繫管道
- Matrix:#vaultwarden:matrix.org
- GitHub Discussions:討論區
- Discourse Forums:論壇
⚠️ 重要提醒
請勿使用官方 Bitwarden 支援管道回報 Vaultwarden 問題!
任何 bug 或建議請直接透過上述管道聯繫 Vaultwarden 社群。
免責聲明
⚖️ 與 Bitwarden 的關係
- 本專案非官方,與 Bitwarden 公司無關
- 其中一位活躍維護者受僱於 Bitwarden,但以個人時間貢獻(獨立於公司,由其他維護者審查)
- 維護者共同決定專案方向,專注服務自架社群(個人、家庭、小型組織)
📌 資料責任
- 資料遺失免責:無法為資料遺失負責(密碼、附件等)
- 強烈建議:定期備份檔案與資料庫
- 發生問題:請立即聯繫社群
專案歷史
📜 名稱變更
原名:Bitwarden_RS
現名:Vaultwarden(自 v1.21.0 起)
變更原因:
- 區隔官方 Bitwarden 伺服器
- 避免混淆與商標/品牌問題
- 詳見 #1642 - v1.21.0 release and project rename
適用場景
✅ 適合
- 🏠 個人/家庭:自架密碼管理器
- 🏢 小型組織:團隊密碼共享(無需 Bitwarden Premium)
- 💻 技術愛好者:學習 Rust、容器化、自架服務
- 💰 預算有限:免費完整功能,無訂閱費用
- 🔒 隱私優先:數據完全掌控,不上雲
⚠️ 不適合
- 🏢 大型企業:建議使用官方 Bitwarden 企業版(支援、SLA、合規)
- 🚫 無技術基礎:需基本 Docker/反向代理知識
- ⏱️ 無維護時間:需定期更新、備份
與官方 Bitwarden 比較
| 項目 | Vaultwarden | 官方 Bitwarden |
|---|---|---|
| 資源占用 | 極低(Rust) | 高(C# + MSSQL) |
| 部署難度 | 簡單(單容器) | 複雜(多服務) |
| 組織功能 | 免費 | 需付費訂閱 |
| 官方支援 | 無 | 有 |
| 企業合規 | 自行負責 | 提供認證 |
| 適合規模 | 個人~小型組織 | 中大型企業 |
快速開始步驟
- 準備環境:安裝 Docker 或 Podman
- 啟動容器:使用上述 Docker 指令或 Compose
- 配置反向代理:設定 HTTPS(必須)
- 訪問 Web Vault:
https://your-domain.tld - 註冊帳號:首次訪問建立管理員帳號
- 安裝客戶端:下載官方 Bitwarden 客戶端
- 連接伺服器:設定自架伺服器網址
- 設定 2FA:啟用雙因素認證
- 定期備份:備份
/vw-data/目錄
相關資源
- 官方文檔:Wiki
- 容器標籤說明:Which container image to use
- 啟用 HTTPS:Enabling HTTPS
- 管理後台:Enabling admin page
- 反向代理範例:Proxy examples
標籤
#Vaultwarden #Bitwarden #密碼管理 #自架服務 #Rust #Docker #開源 #隱私 #資安 #2FA #密碼共享 #組織管理
分類
- 開源專案
- 自架服務
- 密碼管理
- Rust 生態
- Docker 容器
- 資訊安全
- 隱私保護