相信大家都用过很多密码管理器,例如使用 Google Edge 浏览器登录了某个网站,提示是否保存密码,方便下次登陆,如果您点击保存密码他会将您的账号保存到 Google,或者 Microsoft账号中,但是这仅限于浏览器中,而且数据不在自己手中,现在我给大家推荐一个可以私有化部署,全平台自动同步的密码管理软件,Bitwarden,下面是详细搭建教程

环境准备

首先需要安装 Docker,如果不会安装请参考:Docker安装教程

搭建

这里使用的是 Rust 编写的非官方 Bitwarden 兼容服务器,以前称为 bitwarden_rs

GitHub:https://github.com/dani-garcia/vaultwarden

使用Docker进行安装

1
2
3
4
5
docker run --detach --name vaultwarden \
--volume /data/vaultwarden/:/data/ \
--restart unless-stopped \
--publish 81:80 \
vaultwarden/server:latest

/data/vaultwarden/为持久化数据保存目录

如果使用 compose进行安装

1
2
3
4
5
6
7
8
9
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
volumes:
- ./data/vaultwarden/:/data/
ports:
- 81:80

然后执行 docker compose up -d

配置反向代理

配置反向代理实现无需带端口访问,并启用https

这里用nginx来实现的,下面是一个示例配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 443 ssl;
server_name wanghaoyu.com.cn; # 你的域名
ssl_certificate certificate.pem; #你的SSL证书
ssl_certificate_key private.key; #你的SSL私钥

location / {
proxy_pass http://127.0.0.1:81; # 反代到vaultwarden端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;(http或https)
proxy_redirect off;
}
}

配置完成之后登录 web页面创建对应的账号即可。

客户端配置

以谷歌浏览器插件为例

安装完成之后从插件列表找到 Bitwarden 然后选择自托管

填写你的服务器 URL 并保存,其他的不用填

然后直接登录就可以了