开源工具深读 · 第 107 期
把密码库搬回自己手里:Vaultwarden 自建上手与避坑
它到底是什么
Vaultwarden 是 Bitwarden API 的第三方开源实现,用 Rust 写成,兼容官方全平台客户端(浏览器插件、桌面端、手机 App)。你不需要改变任何使用习惯,只是把「账本」存到了自己的服务器上。它原名 Bitwarden_RS,后来为避免商标混淆改名,与 Bitwarden 官方无隶属关系。
它支持个人保险库、附件、网站图标、组织与共享、双因素认证(TOTP / WebAuthn / YubiKey / Duo)、紧急访问,以及自带的管理后台。本质上是把一个资源消耗很高的官方服务,换成一台 1 核 512MB 就能常年跑起来的轻量服务。
怎么用
官方推荐用容器镜像部署,下面这段来自 README 的 docker-compose 是最直接的起法(把 DOMAIN 换成你的 HTTPS 域名):
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
跑起来后用 Nginx / Caddy 反代并配 HTTPS 即可;README 也给了等价的 docker run 命令。注意 Web Vault 依赖 HTTPS 安全上下文,裸跑拿不到 Web Crypto,无法使用网页端。
优点
- 轻量:Rust 实现,内存占用极低,树莓派、小机型都能常年跑。
- 数据自主:所有密码、TOTP、附件都在你自己的盘上,不再经过第三方。
- 零迁移成本:兼容官方全平台客户端,历史数据直接导入即可。
- 免费且功能完整:组织共享、双因素、紧急访问都包含,没有订阅墙。
- 活跃维护:项目提交持续,安全更新跟得上。
缺点与坑
- 许可证为 AGPL-3.0 强 copyleft:你若分发修改版,必须开源你的改动。
- 非官方实现:不享受 Bitwarden 官方支持,出问题别找官方工单。
- 部分官方付费能力未覆盖:高级 2FA 的某些项、家族高级特性等不在范围内。
- 责任完全在你:安全、备份、HTTPS 全要自己兜底,Web Vault 必须 HTTPS + 反代。
- 需要一点运维:至少会配反代、做定期备份。
最终能达到什么效果
一次部署,全家或一个小团队就用上了「自己的 1Password」——密码、TOTP、附件都在自己服务器上同步,订阅费归零,跨端体验与官方 Bitwarden 一致。
适合谁
注重数据主权、想省订阅费、有一台常开小服务器或 NAS、愿意自己运维的个人 / 家庭 / 小团队。
不适合谁
完全不想碰运维、需要官方 SLA 与工单支持、要企业级高级功能的团队。
安装与命令示例均取自 Vaultwarden 官方 README(main 分支);部署前请以仓库最新文档为准。许可证:AGPL-3.0。
下期预告副屏 / 投屏 / 本地互传开源工具横向合集(承接此前预告,仍未交付)。
