bitwarden (vaultwarden) docker搭建

bitwarden (vaultwarden) docker搭建

背景

免费用户LastPass目前只能在一个设备上登陆,所以迁移到bitwarden。bitwarden是开源的跨平台密码管理软件。自己搭建后可以有全部功能

更新:2023年1月12日

1 使用caddy2

2 优化ssl data目录

3 bitwarden已经改名成vaultwarden,使用新版本

具体流传步骤

前置条件:

  • 安装docker
  • bitwarden只支持Https,所以VPS需要有域名、开放80 、443端口。3012是websocket的,不知道有没用
  • Lastpass导出的密码:我选择的CSV格式

bitwardenr:

密码管理程序

  • 下载镜像
docker pull vaultwarden/server
  • 创建密码保存
sudo mkdir /srv/bitwarden
sudo chmod go-rwx /srv/bitwarden
  • 启动bitwarden
sudo docker run -d --name bitwarden -v /srv/bitwarden:/data -e WEBSOCKET_ENABLED=true -p 127.:80 -p 3012:3012 --restart on-failure vaultwarden/server

-d 在后台运行

-v 卷/srv/bitwarden 映射 docker镜像的/data,保证数据不丢失

-e WEBSOCKET_ENABLED 开启websocket 需要使用websocket

-p 端口映射 8080 是主程序的端口,3012是ws的端口

–restart on-failure 在容器非正常退出时,重启

caddy:

支持https

  • 下载镜像
 sudo docker pull caddy
  • 创建配置文件 :/etc/Caddyfile
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

  • 存caddy配置
 sudo mkdir /work/caddy
 sudo chmod go-rwx /work/caddy

存储一些caddy需要的文件类似Let’s Encrypt certificates.证书等,建议不要放root等用户目录下,否者docker无权限修改

  • 启动caddy
sudo docker run -d  --name caddy --net=host -v /work/caddy/Caddyfile:/etc/caddy/Caddyfile -v /work/caddy/data:/data -v /work/caddy/index.html:/usr/share/caddy/index.html --restart on-failure caddy:2

-d 后台运行

– name 名字

-v 挂载,可实现双向修改

/etc/caddy/Caddyfile 配置文件

/data ssl证书

/usr/share/caddy/index.html 主页

–net=host 。host模式,类似原生应用端口监听。

docker有好几种网络模式,默认情况下,容器之间只能通过ip就行网络互通,0.0.0.0就不好用了

  1. host :容器的网络栈和宿主机公用
  2. bridge:默认的
  3. overlay
  4. Macvlan

记住:如果没有映射证书data目录,docker run初始化时会重新申请证书,多次申请会被限制。!

第二次用docker start启动先调试,把证书拷贝出来!

docker start caddy 
docker stop caddy
  • 查看caddy log
 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 8080:80 -p 3012:3012 --restart on-failure vaultwarden/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

这文档里面有不少错误:caddyfile写的是错误的、caddy 也没用net模式启动。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值