bitwarden 搭建
背景
免费用户LastPass目前只能在一个设备上登陆,所以迁移到bitwarden。bitwarden是开源的跨平台密码管理软件。搭建后可以有全部功能
具体流传步骤
前置条件:
- 安装docker
- bitwarden只支持Https,所以VPS需要有域名、开放80 、443端口
- Lastpass导出的密码:我选择的CSV格式
bitwardenr:
密码管理程序
sudo docker pull bitwardenrs/server:latest
sudo mkdir /srv/bitwarden
sudo chmod go-rwx /srv/bitwarden
sudo docker run -d --name bitwarden -v /srv/bitwarden:/data -e WEBSOCKET_ENABLED=true -p 127.0.0.1:8080:80 -p 127.0.0.1:3012:3012 --restart on-failure bitwardenrs/server:latest
-d 在后台运行
-v 卷/srv/bitwarden 映射 docker镜像的/data,保证数据不丢失
-e WEBSOCKET_ENABLED 开启websocket 需要使用websocket
-p 端口映射 8080 是主程序的端口,3012是ws的端口
–restart on-failure 在容器非正常退出时,重启
caddy:
支持https
sudo docker pull caddy/caddy:alpine
dengyongqi.xyz {
encode gzip
# The negotiation endpoint is also proxied to Rocket
reverse_proxy /notifications/hub/negotiate 0.0.0.0:8080
# Notifications redirected to the websockets server
reverse_proxy /notifications/hub 0.0.0.0:3012
# Send all other traffic to the regular bitwarden_rs endpoint
reverse_proxy 0.0.0.0:8080
}
reverse_proxy /notifications/hub/negotiate 0.0.0.0:8080
– /notifications/hub/negotiate 映射到8080
reverse_proxy /notifications/hub 0.0.0.0:3012
– /notifications/hub 映射到3012
reverse_proxy 0.0.0.0:8080
– 所有请求都映射到8080
sudo mkdir /etc/caddy
sudo chmod go-rwx /etc/caddy
存储一些caddy需要的文件类似Let’s Encrypt certificates.证书
sudo docker run -d --name caddy -v /etc/Caddyfile:/etc/caddy/Caddyfile -v /etc/caddy:/root/.local/share/caddy --net host --restart on-failure caddy/caddy:alpine
-d 后台运行
-v /etc/Caddyfile 配置文件映射到docker对应的目录
-v /etc/caddy存储证书等东西
–net host 简化了容器需要和主机接口的绑定 http和https
sudo docker logs caddy
访问域名进行账号申请并导入Lastpass密码
关闭注册服务
sudo docker stop bitwarden
sudo docker rm bitwarden
sudo docker run -d --name bitwarden -v /srv/bitwarden:/data -e WEBSOCKET_ENABLED=true -e SIGNUPS_ALLOWED=false -p 127.0.0.1:8080:80 -p 127.0.0.1:3012:3012 --restart on-failure bitwardenrs/server:latest
-e SIGNUPS_ALLOWED=false
这是私人的服务,导入成功后,手机和chrome插件调试没问题,禁止他人注册
待完善
参考:
https://www.linode.com/docs/guides/how-to-self-host-the-bitwarden-rs-password-manager/#before-you-begin
|