外观
Vaultwarden:自托管密码库
一个轻量的服务端实现,可以配合官方 Bitwarden 客户端使用。密码由客户端加密后上传,服务端保存的是密文。
这是你所有账号的钥匙
自托管密码库意味着可用性和备份完全由你负责。服务挂了、数据丢了、证书过期了,影响的是你登录一切网站的能力。在决定自托管之前,先诚实评估:你能保证它长期稳定运行并有可靠备份吗?做不到的话,用成熟的商业密码管理服务是更负责任的选择。
必须满足的前提
- 必须 HTTPS。 客户端拒绝通过明文连接同步,这不是可选项。
- 必须有可靠备份。 数据丢失等于所有密码丢失。
- 必须关闭开放注册。 创建完自己的账号后立刻关掉。
- 必须有高可用的访问路径。 手机在外面打不开密码库,是很现实的麻烦。
部署
yaml
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
ports:
- "8222:80"
environment:
- SIGNUPS_ALLOWED=true # 创建完账号后改为 false 并重启
- DOMAIN=https://你的域名
volumes:
- /vol1/docker/vaultwarden/data:/data前面必须有一个提供 HTTPS 的反向代理,见 Nginx Proxy Manager。
数据与备份
/data 目录包含数据库、附件和密钥材料,全部都要备份。建议:
- 每日自动备份到另一个存储空间。
- 另外保留一份加密的异地副本,见备份到云存储。
- 定期做恢复演练:这是最不该「假设备份没问题」的数据。
- 同时在客户端里导出一份离线备份,放在安全的地方。
已知坑
- 证书过期会导致所有客户端无法同步,配好续期告警。
- 升级前务必备份,跨版本升级可能涉及数据库结构变更。
- 开放注册忘记关闭,是这类服务最常见的配置失误。