使用docker安装vaultwarden
您是否常常为了密码管理而烦恼?有时为了省事,把所有账户设为统一密码;有时记在小本子上;或者干脆交给浏览器保存并同步到云端。但这样做,非常的不安全。
本文将介绍一种更安全的方式 —— 如何将密码保存在本地。
什么是vaultwarden
vaultwarden是一个使用Rust编写的轻量级的Bitwarden服务端实现,提供了自托管密码管理服务,兼容官方Bitwarden客户端,占用资源极低,甚至于可以将其部署到树莓派上,所以vaultwarden主要是面向个人、家庭和小型组织为主。
Docker:https://hub.docker.com/r/vaultwarden/server
Github:https://github.com/dani-garcia/vaultwarden
使用Docker安装vaultwarden
建议不要直接使用
-p进行端口映射,因为vaultwarden的web界面默认仅允许本机访问或通过https协议访问,其他网络请求将被拒绝。因此,推荐配置一个https转发代理。
vaultwarden安装
为了保障数据安全,在使用 docker 安装vaultwarden时,需要进行目录映射。可以创建并使用 /vwdata 目录来存储持久化数据。
| Bash | |
|---|---|
接下来,就可以使用 docker 安装并运行 vaultwarden 了:
| Bash | |
|---|---|
这里不需要进行端口映射,因为完全没必要。
可以使用 docker inspect 搭配 jq 命令查看vaultwarden容器的 ip 地址,例如:
上述 vaultwarden 容器的 IP 地址为:172.80.0.2。
SSL证书生成
如前所述,vaultwarden 的 web 界面默认仅支持本机访问或通过 https 协议进行访问,这一限制是由前端逻辑所决定的,因此这里使用 https 协议进行访问。
如果没有自己的域名,可以使用 openssl 自行签发一个 https证书。本文将通过 nginx 实现站点的转发和访问,nginx 的安装过程在此不再赘述。
首先切换到 nginx 的主目录,然后使用 openssl 生成自签名证书:
| Bash | |
|---|---|
在接下来交互输入中,在 Common Name (CN)中输入invaultwarden20250507.com,假装我们拥有invaultwarden20250507.com域名。
接下来,创建 Vaultwarden 的配置文件:
| Bash | |
|---|---|
上述内容中,172.80.0.2是容器vaultwarden的ip地址。
由于域名并不属于我们,所以 其他机器想要访问该站点的话,需要创建hosts映射。
vaultwarden最基本的使用
使用浏览器访问 https://invaultwarden20250507.com 时,会弹出证书无效的提示,直接选择忽略该警告即可。
首次登录时,需要先创建一个用户,创建完成后即可登录。
登录完成后,选择【安装浏览器扩展】:

安装插件完毕后,选择【自托管】:

输入服务器URL,点击保存:

然后就可以登录刚刚创建好的帐号了。

后续使用中,如果登录了网站,会提示是否保存密码,选择保存即可。

如果想要保存如MFA动态验证码,需要将验证器密钥填写进去。

上述是最基本的使用了。
数据库备份
vaultwarden默认使用sqlite3,只需要将/vwdata给打包压缩即可,不过需要注意存放到安全的地方,必要的时候,可以使用第三方数据加密工具进行加密,比如:gpg。
最简单的备份脚本如下:
| Bash | |
|---|---|
总结
vaultwarden 提供了自托管密码管理服务,使得密码能够安全地存储在本地数据库中,有效防止因使用相同密码而遭遇撞库攻击的风险。它不仅支持存储动态验证码,还具备其他实用功能,如密码生成器、Send 分享信息等,是一款功能丰富且非常实用的工具。
另外,vaultwarden 的 web 界面默认仅允许本机访问或通过 https 协议进行访问,其他网络请求将被拒绝。除了部署 https 访问外,还可以通过本地端口映射来完成请求。
使用docker安装vaultwarden
https://wangli2025.github.io/2025/05/11/vaultwarden_usage.html
本站均为原创文章,采用 CC BY-NC-ND 4.0 协议。转载请注明出处,不得用于商业用途。