跳至主要內容

基于宝塔 Docker 自建 Bitwarden 密码管理服务

Bing🐣2019年12月21日宝塔面板Docker自部署BitwardenDocker大约 5 分钟

基于宝塔 Docker 自建 Bitwarden 密码管理服务

Bitwarden是一个跨平台的密码管理软件,类似于 1Password、EnPass、LastPass 等。Bitwarden 是免费开源的,可以将服务端部署在自己的服务器上,比如群晖,并且支持 Docker 部署。但官方的镜像要求至少 2G 以上内存,要求比较高。有人用 Rust 实现了 Bitwarden 服务器,项目叫bitwarden_rs,现在已经更新为vaultwarden,并且提供了 Docker 镜像,这个实现更进一步降低了对机器配置的要求,并且 Docker 镜像体积很小,部署非常方便。

宝塔安装 Docker

如果已经安装,可以忽略该步骤,如果没有安装,进入到宝塔面板的软件商店,搜索 docker 安装即可。

image
image

获取镜像

打开 docker 管理器,点击获取镜像,输入 Bitwarden_rs 的官方镜像bitwardenrs/server后点击获取镜像。

提示

原项目已经变更名称,故官方镜像名称也变成了vaultwarden/server,所以教程里面的bitwardenrs/server均需替换成新的镜像名称 vaultwarden/server

image
image

创建容器

1.点击创建容器按钮 2.填写端口映射中的容器端口80,服务端口6666(6666 可以自定义) 3.填写目录映射中的服务器目录/www/wwwroot/bitwarden.liubing.me(该目录可以自定义,我习惯用网址作为目录),容器目录/data 4.填写内存配额,根据自己服务器的配置按需填写 5.提交创建容器 6.点击容器名称,修改容器名称为Bitwarden以方便辨认

提示

端口映射和目录映射填写完成后一定要点击 + 号进行添加

image
image
image
image

添加站点

一般可以添加一个二级域名,按自己需要起名字即可,由于我用的cloudflare的服务,所以以这个为演示,阿里云、百度云等其他厂商添加二级域名都是差不多的。

添加一个 A 记录,名字为bitwarden,指向的 IP 为你服务器 VPS 的 IP 地址,最后的访问地址就是bitwarden.liubing.me了。

image
image

域名准备好后,在宝塔里面添加一个站点,FTP、数据库均不用创建,PHP 版本选择纯静态。

image
image

网站添加完成后设置 SSL,自己准备证书,或者用免费的,我用的一直是 cloudflare 颁发的证书。
设置完毕后开启强制 Https

image
image

最后添加一个反向代理,名称随意填,目标 URL 为http://127.0.0.1:6666,端口号和上面创建容器服务端口保持一直。

image
image

完成自建

上述步骤都做完后别忘了在宝塔面板安全-防火墙中放行端口6666
最后不出意外的话访问https://bitwarden.liubing.me就能看到界面了。
首次完成安装页面是英文的,自己可以创建一个账号登录进去,在设置-选项-语言中设置语言。

image
image
image
image

其他问题

关闭注册

一般自建的服务都是自己用的,所以如果想关闭注册的话可以按照下面的方法做:

1.在 docker 管理器中点击刚才创建的容器的状态绿色图标,停止容器运行,然后删除容器(删除容器后不会删除数据)

image
image

2.在 VPS 中运行下面的命令重新运行容器,其中Bitwarden为容器的名字,SIGNUPS_ALLOWED=false代表禁止注册,/www/wwwroot/bitwarden.liubing.me为上面创建容器时所写的服务器目录,/data为容器目录,6666:80代表上面创建容器时的服务端口:容器端口

docker run -d --name Bitwarden \
  -e SIGNUPS_ALLOWED=false \
  -v /www/wwwroot/bitwarden.liubing.me/:/data/ \
  -p 6666:80 \
  bitwardenrs/server:latest

运行完成后在容器列表里就又能看到了。
然后再去试下创建账号就会出现一个不能创建账号的错误提示。

image
image

其他配置

参考项目的 wiki 即可:https://github.com/dani-garcia/bitwarden_rs/wiki

插件及 App 下载

可以到 bitwarden 官网自行下载:https://bitwarden.com/#download

连接自建的服务

以 CHrome 的插件为例子,如果之前有安装及登录过,可以在设置中退出登录。
点击左上角的设置图标,填写自建服务器的 URL 保存后登录即可。

image
image
image
image

更新镜像

由于原项目改名,镜像名称也随之有变更,所以需要更新到最新的镜像的话,需要在宝塔的 docker 管理器容器列表中先将目前的项目停用掉删除(删除不会删除原数据,不放心的可以在网页中将现有密码先导出一遍)

image
image

删除后在镜像列表中找到原来的名称为bitwardenrs/server的删除

image
image

镜像删除后点击获取镜像按钮,输入新的镜像名称vaultwarden/server获取镜像

image
image

获取完成后重新再 VPS 上重新运行容器的命令,注意相关目录和镜像名称别输错了。

docker run -d --name Bitwarden \
  -e SIGNUPS_ALLOWED=false \
  -v /www/wwwroot/bitwarden.liubing.me/:/data/ \
  -p 6666:80 \
  vaultwarden/server:latest

启动完成后就能在容器列表中重新看到新运行的项目了,数据依旧是原来的数据。

结语

最后就可以愉快的在浏览器和手机上愉快的使用了,顺便说句:我的密码存储我做主,再也不用害怕密码忘记的事了,也可以记录些银行卡等隐私信息,随时复制。

image
image
image
image