在此之前我PC端用的chrome账户管理密码,手机端用过微软的Authenticator和Google的,都不太好用, Authenticator经常弹不出,Google又要你懂的。然后1password 3-5刀的价格又感觉有点浪费,和别人共用又因为管理员可以随意删除账户不安全, 无意间在 v2ex 发现有人推荐一个新的开源密码管理器 Bitwarden。在 GitHub 上有个项目叫做 bitwarden_rs,并且提供了 Docker 镜像。
目前已改名为vaultwarden,Github地址
服务端部署
docker-compose 和 docker CLi 请自行选择
docker-compose.yml:
version: '3'
services:
vaultwarden:
image: vaultwarden/server:1.22.2
ports:
- 8012:80
volumes:
- /share/vaultwarden/data:/data
restart: always
container_name: vaultwarden
docker-CLi:
docker run \ -p 8012:80 \ -v /share/vaultwarden/data:/data \ --restart=always \ --name vaultwarden -d vaultwarden/server:1.22.2
由于安全性要求,必须使用https,使用nginx配置反向代理即可,这里不赘述,附上参考配置。(这里自签或者ZeroSSL免费证书有个坑,配置的时候一定要带上证书链,否则安卓等客户端无法登录)
location / {
proxy_pass http://192.168.31.2:8012;
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;
}
location /notifications/hub {
proxy_pass http://192.168.31.2:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_pass http://192.168.31.2:8012;
}
配置
访问页面进行配置

注册完成后,可以修改环境变量来禁止其他用户注册
docker-compose.yml:
version: '3'
services:
vaultwarden:
image: vaultwarden/server:1.22.2
ports:
- 8012:80
- 3012:3012
volumes:
- /share/vaultwarden/data:/data
environment:
- SIGNUPS_ALLOWED=false
restart: always
container_name: vaultwarden
docker-CLi:
docker run \ -p 8012:80 \ -v /share/vaultwarden/data:/data \ -e SIGNUPS_ALLOWED=false \ --restart=always \ --name vaultwarden -d vaultwarden/server:1.22.2
回复 Ryan 取消回复