-
buo4 技术教程组 用户
很多人用密码管理器,用的都是 Bitwarden。但它官方那套服务对服务器资源是真的不客气——数据库用 MSSQL,内存吃得厉害,一台小机器跑起来挺吃力。
Vaultwarden 解决的就是这件事。它是 Bitwarden 客户端 API 的替代服务端实现,用 Rust 写成,完全兼容官方 Bitwarden 客户端。你手机上装的那个 Bitwarden App、浏览器里的那个插件,照样能用,只是背后连的服务器换成了你自己的一台小机器。

它到底替掉了什么
需要说清楚的是:Vaultwarden 不是 Bitwarden 的官方项目。它是第三方重新实现的服务端,目标是把官方那个"资源吃得厉害"的服务端,换成一个能在低配机器上跑得动的版本。
它实现了 Bitwarden Client API 中相当完整的一套能力,包括:
- 个人密码库(Personal Vault)——平时存密码、笔记、信用卡那套
- Send——临时分享文本或文件,可以设置查看次数和过期时间
- 附件(Attachments)——给密码条目挂文件
- 网站图标(Website icons)——登录项自动显示站点图标
- 个人 API Key
- 组织(Organizations)——集合、密码共享、成员角色、群组、事件日志、管理员重置密码、目录连接器、策略
- 多重/两步验证——验证器 App、邮件、FIDO2 WebAuthn、YubiKey、Duo
- 紧急访问(Emergency Access)——指定信任的人在你失联时接管密码库
- 管理员后台(Admin Backend)
- 改造版的 Web Vault 客户端(打包在官方容器里)

对个人用户和小团队来说,这套功能基本是全覆盖的。你平时在 Bitwarden 里用到的功能,Vaultwarden 上基本都有。
部署:两条命令的事
官方推荐的方式是用容器镜像,发布在 ghcr.io、docker.io 和 quay.io 三个地方。最直接的 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
数据全部落在 /vw-data/ 这个宿主机目录里,路径你可以随便改。想用 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
就这么点内容。

一个必须注意的前提:HTTPS
README 里用 IMPORTANT 标出来的一条:Web Vault 需要 HTTPS 和安全上下文,因为浏览器提供的 Web Crypto API 有这个硬要求。
也就是说,你本地 http://localhost 随便玩玩可以,但只要想让浏览器插件正常用,就必须配 HTTPS。官方还建议在 Vaultwarden 前面放一层反向代理——虽然 Vaultwarden 基于的 Rocket 框架本身支持 TLS,但官方更推荐用反代来处理证书。
这一步是新手最容易卡住的地方。别跳过。
关于报 bug,有个纪律
项目 README 里专门有一段 disclaimer 强调:遇到问题请去 Vaultwarden 自己的仓库提,不要去找 Bitwarden 官方支持渠道。
这个要求挺合理——毕竟它是第三方的重新实现,官方支持团队并不了解这个项目的代码。你跑到 Bitwarden 那边提问,对方也只能让你回去找 Vaultwarden。
谁适合用它
适合:
- 有台小 VPS 或者家里的 NAS,想自己掌控密码数据
- 官方 Bitwarden 自托管方案在小机器上跑不动
- 小团队想共享一部分密码,又不想为密码管理器付费
- 已经习惯 Bitwarden 客户端,不想换 App
不太适合:
- 完全不想碰命令行、不想配 HTTPS 和反向代理
- 需要 Bitwarden 官方商业支持的企业采购场景
说点实在的
密码管理器这类东西,数据放哪是个挺重要的问题。放在厂商服务器上,你信任的是厂商的运营和安全能力;放在自己机器上,你信任的是自己的运维能力。
Vaultwarden 给的是后一个选项,而且门槛不高——两条 docker 命令,加一个反代,就完事了。对于已经有一台常开机器的人来说,这个交换挺划算。
项目地址:https://github.com/dani-garcia/vaultwarden
采用 AGPL-3.0 许可证。详细安装和配置说明都在项目的 Wiki 里。
最后一句话:Vaultwarden 是 Bitwarden 服务端的第三方替代实现,不是官方产品。但正因为是第三方重新实现,它才做到了 Rust 写成、资源占用低、能跑在小机器上——这恰恰是官方版本做不到的事。