📌 项目地址dani-garcia/vaultwarden | ⭐ 66,090 颗星 | 🔧 Rust | 📜 未标注

📌 项目地址dani-garcia/vaultwarden | ⭐ 66,090 颗星 | 🔧 Rust

这个项目解决一个什么问题

Bitwarden 的客户端(浏览器插件、手机 App、桌面端)都是免费开放的,但官方服务端是面向企业设计的,资源开销不小。你手里只有一台 1G 内存的 VPS 或者家用 NAS,想自托管密码库,官方那套跑起来就很勉强。

Vaultwarden(原名 bitwarden_rs)针对的就是这个场景。README 原话:”perfect for self-hosted deployment where running the official resource-heavy service might not be ideal”。

它的做法是:用 Rust 重新实现了 Bitwarden Client API,官方客户端一个不用换,只把服务端指向你自己的机器。

功能覆盖程度

README 列的清单里写了”a nearly complete implementation”,具体包括:

  • 个人密码库(Personal Vault)、Send(加密临时分享)、附件网站图标个人 API Key
  • 组织功能:Collections、密码共享、成员角色、群组、事件日志、管理员密码重置、Directory Connector 目录同步、策略(Policies)
  • 两步验证:Authenticator(TOTP)、邮件、FIDO2 WebAuthn、YubiKey、Duo

组织那套功能在 Bitwarden 官方是付费版能力。自托管 Vaultwarden 的话,这些都能用。对个人用户来说,2FA 支持到 FIDO2 WebAuthn 和 YubiKey 这个级别,够用了。

跑起来只需要一行

镜像有三个来源:

  • GitHub Container Registry(ghcr.io,见项目 Packages 页面)
  • Docker Hub:vaultwarden/server
  • Quay.io:vaultwarden/server

以 Docker Hub 为例,README 给的启动命令:

docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest

数据全在宿主机的 /vw-data/ 目录(映射到容器内 /data/)。容器跑起来后,在官方客户端的登录界面把“服务器 URL”改成你的地址,注册账号就能用了。

环境变量、反向代理这些配置,README 截取部分没有展开,细节在项目 Wiki 里。遇到问题有三个去处:Matrix(#vaultwarden:matrix.org)、GitHub Discussions、官方论坛(vaultwarden.discourse.group)。

四件必须知道的事

1. Bug 反馈不要走 Bitwarden 官方渠道。 README 用 IMPORTANT 级别单独标注了这条:不管你用的是手机、桌面还是浏览器客户端,出了问题直接反馈给 Vaultwarden 项目。跑去 Bitwarden 官方提 issue 只会两头浪费时间。

2. 它是非官方实现。 API 兼容,但和 Bitwarden 公司没有关系。官方客户端更新如果改了 API,Vaultwarden 需要时间跟进。升级前看一眼 Releases 说明比较稳妥。

3. HTTPS 要自己配。 密码数据走 Web API 传输,裸 HTTP 部署等于明文暴露。生产环境必须配反向代理加证书。启动命令里的 80 端口只是最小可跑的示例。

4. 备份是你自己的责任。 所有数据都在 /data 目录。容器可以没了,这个目录不能丢,定期备份。

我的看法

6.6 万星不是靠营销来的。这个项目只做一件事:官方客户端不动,服务端换掉,资源占用降一个量级。自托管圈里“密码管理”这一项,Vaultwarden 基本就是默认答案。

代价也摆在明面上:运维、备份、HTTPS 配置都归你,API 兼容的滞后风险也归你。只想存密码、不想碰服务器的人,官方云服务更省心。有一台闲置机器、愿意花半小时折腾的人,直接试。

这篇文章对你有帮助吗?

发表回复