自建密码库 Vaultwarden:部署、备份与「别把自己锁在外面」

自建服务 · 2 分钟阅读· 427 次阅读

密码库是「丢了就全丢」的服务,自建能拿回控制权,但也把「备份责任」揽到自己身上。

Vaultwarden 用 SQLite 或 PostgreSQL 存数据,单容器即可运行,资源占用小,适合小主机。

先说结论

必须 HTTPS,必须每日备份数据库,必须留一份离线应急副本。

  • 官方客户端要求 HTTPS,纯 HTTP 无法登录
  • 管理员面板用 token 保护,不要对外开放
  • 每日备份 db.sqlite3 并异地保存
  • 记下主密码:忘了谁都救不了

先把问题说清楚

Vaultwarden 的数据就是一个 SQLite 文件(或 PG 库),备份极其简单——但正因为简单,很多人忘了做。

客户端在登录时会校验服务端证书,自签证书需要额外信任配置,最好用正式证书。

具体怎么做

按顺序执行,每步都验证完再进下一步:

  • 用 compose 起服务,挂载 data 目录
  • 配反向代理与证书,强制 HTTPS
  • 设置 ADMIN_TOKEN,登录管理面板关闭注册
  • 加每日备份任务:sqlite3 .backup 或直接 copy(停机)
  • 在手机与浏览器装 Bitwarden 客户端,指向自建地址

参数与成本对照

把关键数值摊开,方便判断该选哪条路:

项目 建议 说明
部署方式 Docker 单容器 升级简单
数据库 SQLite(小规模) 备份只需一个文件
HTTPS 必须 客户端强校验
备份频率 每日 + 每周异地 库很小,成本低

自建密码库 Vaultwarden

几个容易踩的坑

下面这些是最常见的错误做法:

  • 用 HTTP 访问:客户端直接拒绝登录
  • 注册开放:陌生人可以注册你的实例
  • 忘记主密码:数据无法解密
  • 只备份容器不备份 data 目录

最后补两句

密码库的可靠性 = 备份频率 × 恢复演练次数。只做前一半,等于没做。

工具是手段,理解机制才是能力。命令记不住没关系,知道「该看什么」就够了。

评论 (3)

阿
阿哲

照着做了一遍,确实少走弯路。第二步最容易漏,建议顺手加个检查清单。

南
南风

比「一键脚本」有用多了,知道为什么比知道怎么做重要。

K
Kevin

补充一句:不同版本行为会变,动手前先确认自己的版本号。

发表评论

验证码

提交后需站长审核,通过后才会显示。