自架服務
dani-garcia/vaultwarden avatar
dani-garcia/vaultwarden

vaultwarden:從 README 拆解功能、限制與使用條件

用 Rust 編寫的非官方 Bitwarden 相容伺服器,以前稱為 bitwarden_rs。

67,647 個 Star3,216 個 ForkRustAGPL-3.0
GitHub

秒懂

它是什麼?
Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs.。本文依 dani-garcia/vaultwarden README 整理使用入口、依賴、輸出與限制。
適合誰用?
vaultwarden 適合需要 README 所列功能,並能管理其依賴與設定的使用者;不適合把範例以外的行為當成保證。先執行 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定,核對專案指定的輸入、檔案、日誌或查詢輸出,再決定是否放進既有流程;素材沒有說明的部分仍應列為未知。
可以商用嗎?
可以,但條件嚴格。AGPL-3.0 是網路 copyleft 授權:如果別人透過網路使用你修改過的版本(例如作為託管服務),你必須以同一授權向他們提供原始碼。
還在維護嗎?
有在維護。儲存庫最近一次提交在 2 天前。
用什麼語言寫的?
主要是 Rust(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

面向 Bitwarden API 的 Rust 伺服器

根據 README 的描述,Vaultwarden 是 Bitwarden 用戶端 API 的替代伺服器實作,使用 Rust 撰寫,並與官方 Bitwarden 用戶端相容,README 提供了指向官方下載頁面的連結。該專案面向自託管部署,適用於執行官方資源密集型服務可能不理想的場景,README 並沒有對兩者的資源佔用作出具體對比。專案原名 bitwarden_rs,在 v1.21.0 版本中更名為 Vaultwarden,目的是與官方 Bitwarden 伺服器區分開,避免混淆以及商標或品牌問題,相關解釋見編號為 1642 的 GitHub 討論。儲存庫中繼資料確認其主要語言為 Rust,預設分支為 main。

vaultwarden 的 README 把這個入口放在實際工作流程中,而不是獨立的功能宣傳。讀者應把 dani-garcia/vaultwarden 的專案名稱、檔案路徑、依賴版本和命令放在同一份紀錄裡,這樣才能分辨是環境差異、設定遺漏,還是文件沒有承諾的行為。素材只描述 README 明確列出的能力,未提到的效能、相容性與安全結果都維持未知。

採用 vaultwarden 前,先執行「以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定」。第 1 節要看的不是抽象的成功訊息,而是專案自己的輸入和產物:檢查命令退出狀態、README 指定的設定鍵、產生的檔案、服務日誌或查詢結果。若 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定 需要額外硬體、服務或憑證,應把缺少的條件記在結果旁,不用推測填補。這個檢查直接對應 vaultwarden 的 README,因此結論只涵蓋該入口。

對團隊使用而言,vaultwarden 的取捨在於工作流程是否能承受它的前置條件。dani-garcia/vaultwarden 的文件若把本機、容器、瀏覽器、GPU、遠端主機或特定用戶端列為必要環節,這些環節就是部署邊界。先用最小輸入完成一次 vaultwarden 流程,再逐項增加資料量或協作者;每次保留設定檔名稱與輸出差異,才能知道哪個能力真正來自專案。

README 中列出的功能涵蓋範圍

README 稱該實作幾乎完整,並列出了涵蓋的功能領域:個人保管庫、Send、附件、網站圖示、個人 API 金鑰,以及組織功能,其中包括集合、密碼共用、成員角色、群組、事件日誌、管理員密碼重設、目錄連接器和原則。多因素驗證涵蓋驗證器應用程式、電子郵件、FIDO2 WebAuthn、YubiKey 和 Duo。緊急存取、Vaultwarden 管理後端,以及容器內捆綁的修改版 Web 保管庫用戶端也包含在清單中,修改版 Web 保管庫用戶端來自 bw_web_builds 儲存庫。README 為每個領域連結了 Bitwarden 說明文件,例如條目管理、Send、附件、網站圖示和雙重登入的說明頁面,但沒有量化實作的完整程度,也沒有提供任何功能測試或相容性測試的結果。

採用 vaultwarden 前,先執行「以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定」。第 2 節要看的不是抽象的成功訊息,而是專案自己的輸入和產物:檢查命令退出狀態、README 指定的設定鍵、產生的檔案、服務日誌或查詢結果。若 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定 需要額外硬體、服務或憑證,應把缺少的條件記在結果旁,不用推測填補。這個檢查直接對應 vaultwarden 的 README,因此結論只涵蓋該入口。

以容器為主的部署方式

容器映像是建議的安裝方式,映像發布在 ghcr.io、docker.io 和 quay.io 三個登錄檔上,Wiki 中有關於選擇哪個容器映像的說明。README 提供了 Docker 或 Podman CLI 範例,該範例拉取 vaultwarden/server:latest,透過 DOMAIN 環境變數設定網域,掛載主機磁碟區以持久化資料,並使用 --restart unless-stopped 重新啟動原則;同時也提供了使用同一映像的 Docker Compose 範例。Web 保管庫需要 HTTPS 和安全內容來支援 Web Crypto API,因此 README 建議啟用 HTTPS 並推薦使用反向代理,儘管底層 Rocket Web 框架內建 TLS 支援。社群維護的套件也是一個選項,但 README 警告它們可能落後於最新版本或在設定方式上有所偏離;從原始碼自行建置也在 Wiki 中有說明。

採用 vaultwarden 前,先執行「以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定」。第 3 節要看的不是抽象的成功訊息,而是專案自己的輸入和產物:檢查命令退出狀態、README 指定的設定鍵、產生的檔案、服務日誌或查詢結果。若 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定 需要額外硬體、服務或憑證,應把缺少的條件記在結果旁,不用推測填補。這個檢查直接對應 vaultwarden 的 README,因此結論只涵蓋該入口。

在官方 Bitwarden 管道之外回報問題

README 要求使用者無論使用哪個用戶端,都將錯誤或建議直接回報給 Vaultwarden 專案,並明確表示不要使用官方 Bitwarden 支援管道;這則提示位於 README 開頭的醒目重要提示方塊中。社群聯絡方式包括 Matrix 聊天室、GitHub Discussions 和 Discourse 論壇,README 提供了具體連結。對於錯誤或當機,使用者需要先搜尋既有的 issue 和討論,確認沒有類似的問題被回報過,並確保自己使用的是最新版本,然後建立新的討論或 issue。儲存庫中繼資料記錄了 78 個未關閉的 issue,README 沒有對這個數字作出解釋,也沒有說明這些 issue 的性質或嚴重程度。

採用 vaultwarden 前,先執行「以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定」。第 4 節要看的不是抽象的成功訊息,而是專案自己的輸入和產物:檢查命令退出狀態、README 指定的設定鍵、產生的檔案、服務日誌或查詢結果。若 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定 需要額外硬體、服務或憑證,應把缺少的條件記在結果旁,不用推測填補。這個檢查直接對應 vaultwarden 的 README,因此結論只涵蓋該入口。

與 Bitwarden 的關係聲明及從 bitwarden_rs 更名

README 聲明該專案與 Bitwarden 或 Bitwarden, Inc. 沒有關聯。專案的一位活躍維護者受僱於 Bitwarden,在個人時間參與貢獻,這些貢獻獨立於 Bitwarden,並由其他維護者審查。維護者團隊共同確定專案方向,關注自託管社群,包括個人、家庭和小型組織,同時確保專案的永續性。從 bitwarden_rs 更名的目的被描述為將專案與官方伺服器區分開,避免混淆以及商標問題。README 還包含資料遺失免責聲明,說明專案不對密碼、附件等資訊的資料遺失承擔責任,建議定期備份檔案和資料庫,並鼓勵使用者在遇到資料遺失時立即聯絡專案方。

採用 vaultwarden 前,先執行「以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定」。第 5 節要看的不是抽象的成功訊息,而是專案自己的輸入和產物:檢查命令退出狀態、README 指定的設定鍵、產生的檔案、服務日誌或查詢結果。若 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定 需要額外硬體、服務或憑證,應把缺少的條件記在結果旁,不用推測填補。這個檢查直接對應 vaultwarden 的 README,因此結論只涵蓋該入口。

授權、儲存庫狀態與資料

儲存庫中繼資料將 AGPL-3.0 列為 SPDX 授權識別碼,預設分支為 main,專案語言為 Rust,且儲存庫未被封存。README 和所提供的授權摘錄都不包含授權文字,因此無法從這些來源引用具體的授權條款,需要查看儲存庫中的實際授權檔案來核實。除資料遺失免責聲明外,README 沒有說明安全狀況、保固或支援承諾,也沒有提供任何效能基準、生產結果或使用者數量。中繼資料記錄了 64,956 個星標、3,083 個 fork 和 78 個未關閉的 issue,README 對這些數字沒有任何說明,這些指標來自儲存庫中繼資料快照。

採用 vaultwarden 前,先執行「以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定」。第 6 節要看的不是抽象的成功訊息,而是專案自己的輸入和產物:檢查命令退出狀態、README 指定的設定鍵、產生的檔案、服務日誌或查詢結果。若 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定 需要額外硬體、服務或憑證,應把缺少的條件記在結果旁,不用推測填補。這個檢查直接對應 vaultwarden 的 README,因此結論只涵蓋該入口。

編輯結論

vaultwarden 適合需要 README 所列功能,並能管理其依賴與設定的使用者;不適合把範例以外的行為當成保證。先執行 以 vaultwarden/server 映像啟動並核對 Bitwarden 官方用戶端登入、資料同步與管理員設定,核對專案指定的輸入、檔案、日誌或查詢輸出,再決定是否放進既有流程;素材沒有說明的部分仍應列為未知。

官方來源

  1. Official README
  2. Project repository
  3. Release notes
社群筆記

社群筆記