起因:

多年来我一直在用LastPass管理密码,前段时间发现浏览器插件版的 LastPass 忽然全变成了英文,虽然都能猜出单词意思,但是还是有些不习惯,最难受的是感觉 LastPass 现在变得越来越慢了, 关键时候查个密码半天都出不来。于是就有了寻找替代品的念头,百度了一下,最终选中了Bitwarden。

介绍:

Bitwarden 是一款开源的密码管理器,它的工作方式与 LastPass、1Password 相同。支持全平台,而且免费、开源、中文翻译很好。

准备:

宝塔面板

一个域名(如果只是在局域网中使用,可以不用域名,直接用ip访问即可)

部署:

先安装Docker,在宝塔面板上安装很方便。

操作:进入后台,在软件商店–>运行环境–>Docker管理器,安装

安装docker

下一步:获取镜像

操作:Docker管理器 –> 镜像管理 –> 获取镜像 –> 官方库 –> 输入”mprasil/bitwarden:latest”–> 获取镜像 –> 推送

2020年7月26日更新:因官方库已下架“ mprasil/bitwarden ”,所以现在安装时请用“ bitwardenrs/server:latest ”,后面相关处也请一同修改。

docker:获取镜像
docker:推送镜像

下一步:设置IP

操作: Docker管理器 –> IP地址池 –> 如果打算单独给docker一个IP,那么就写在这里,如果打算与本机相同,那么就输入本机IP。

设置IP
docker:设置IP

下一步:创建容器

操作: Docker管理器 –> 容器列表 –> 创建容器

镜像:选择“mprasil/bitwarden:lates”
绑定IP:可选0.0.0.0,也可以选择刚才添加的IP地址

端口映射:
容器端口:80(不可改)
服务端口:自定义(过后通过这个端口访问)
+:注意,一定要点这个加号,不加不管用。
目录映射:
服务器目录:自定义路径,提前创建好目录(这里例如:/docker/bitwarden/data)
读写:这个不变
容器目录:/data/(不能改)
+:注意,一定要点这个加号,不加不管用。
再添加一条
服务器目录:自定义路径,提前创建好目录(这里例如:/docker/bitwarden/ssl)
读写:这个不变
容器目录:/ssl/(不能改)
+:注意,一定要点这个加号,不加不管用。

内存配额:自定义,根据你机器配置来定
CPU权重:100,因为我这台机器只给这个用。
执行命令:默认
docker:创建容器

下一步:添加站点

操作:网站 –> 添加站点

宝塔面板:添加站点

下一步:创建反向代理

操作:点击上一步新添加的站点名(站点设置)–> 反向代理 –> 添加反向代理

代理名称:bitwarden
目标URL:http://127.0.0.1:8080
发送域名:$host

注意:我第一次在这提交时会报域名错误,关闭后重新填写提交就成功了。奇怪!

宝塔面板:添加反向代理

下一步:配置SSL

操作:SSL –> 宝塔SSL –> 选择域名 –> 申请

注意:最简单的方法就是直接申请宝塔的SSL(可免费用一年),选择域名后 点击申请,申请成功后系统会帮你自动部署。你也可以选择申请Let’s Encrypt,方法和宝塔的SSL差不多,但是3个月要更新一次证书(宝塔会帮你自动更新)。

宝塔面板:申请ssl

好了,打开网站试试看,记得用https://你的域名 来访问

注意:如果不用 https :// 访问将无法创建用户

bitwarden

赶紧先给自己创建一个账号,后面我们要关闭注册功能了!

接着:关闭注册和邀请功能

操作:先进入宝塔面板 –> docker容器列表,删除我们前面刚创建的容器(先停止才能删除,放心删吧,我已经测试过没问题,数据不会丢失的

删除docker

删除以后,进入shell窗口,执行下面命令

docker run -d --name bitwarden \
-e SIGNUPS_ALLOWED=false \
-e INVITATIONS_ALLOWED=false \
-v /docker/bitwarden/data/:/data/ \
-p 8080:80 \
mprasil/bitwarden:latest

说明一下:
SIGNUPS_ALLOWED=false #关闭注册
INVITATIONS_ALLOWED=false #关闭邀请

执行后没报错那就是成功了(现在你可以进入宝塔的容器列表查看,已经又创建了一个名为:bitwarden 的docker容器了)。此时,虽然前台还会有创建账号的按钮,但是点进去提交时会报错的,无法创建新账号, 效果如下图。

最后: 设置docker容器自动启动

操作:进入shell窗口执行下面命令

docker update --restart=always bitwarden

第一次用docker创建应用,很多内容都是参考别人,然后结合自己的实际操作写的本文。

本文参考文献:

CentOS7使用bitwarden_rs搭建自己的密码管理服务器(安装部分)
宝塔面板docker安装密码管理器Bitwarden教程(禁止注册和邀请)