基于宝塔Docker自建Bitwarden密码管理服务
Bitwarden是一个跨平台的密码管理软件,类似于 1Password、EnPass、LastPass 等。Bitwarden 是免费开源的,可以将服务端部署在自己的服务器上,比如群晖,并且支持 Docker 部署。但官方的镜像要求至少 2G 以上内存,要求比较高。有人用 Rust 实现了 Bitwarden 服务器,项目叫 bitwarden_rs,并且提供了 Docker 镜像,这个实现更进一步降低了对机器配置的要求,并且 Docker 镜像体积很小,部署非常方便。
宝塔安装Docker
如果已经安装,可以忽略该步骤,如果没有安装,进入到宝塔面板的软件商店,搜索docker安装即可。
获取镜像
打开docker管理器,点击获取镜像,输入Bitwarden_rs的官方镜像bitwardenrs/server
后点击获取镜像。
创建容器
1.点击创建容器按钮
2.填写端口映射中的容器端口
:80
,服务端口
:6666
(6666可以自定义)
3.填写目录映射中的服务器目录
:/www/wwwroot/bitwarden.liubing.me
(该目录可以自定义,我习惯用网址作为目录),容器目录
:/data
4.填写内存配额,根据自己服务器的配置按需填写
5.提交创建容器
6.点击容器名称,修改容器名称为Bitwarden
以方便辨认
端口映射和目录映射填写完成后一定要点击+号进行添加
端口映射和目录映射填写完成后一定要点击+号进行添加
端口映射和目录映射填写完成后一定要点击+号进行添加
添加站点
一般可以添加一个二级域名,按自己需要起名字即可,由于我用的cloudflare
的服务,所以以这个为演示,阿里云、百度云等其他厂商添加二级域名都是差不多的。
添加一个A记录,名字为bitwarden
,指向的IP为你服务器VPS的IP地址,最后的访问地址就是bitwarden.liubing.me
了。
域名准备好后,在宝塔里面添加一个站点,FTP、数据库均不用创建,PHP版本选择纯静态。
网站添加完成后设置SSL,自己准备证书,或者用免费的,我用的一直是cloudflare颁发的证书。
设置完毕后开启强制Https
最后添加一个反向代理,名称随意填,目标URL为http://127.0.0.1:6666
,端口号和上面创建容器
时服务端口
保持一直。
完成自建
上述步骤都做完后别忘了在宝塔面板安全-防火墙中放行端口6666
。
最后不出意外的话访问https://bitwarden.liubing.me
就能看到界面了。
首次完成安装页面是英文的,自己可以创建一个账号登录进去,在设置-选项-语言中设置语言。
其他问题
关闭注册
一般自建的服务都是自己用的,所以如果想关闭注册的话可以按照下面的方法做:
1.在docker管理器中点击刚才创建的容器的状态绿色图标,停止容器运行,然后删除容器(删除容器后不会删除数据)
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
运行完成后在容器列表里就又能看到了。
然后再去试下创建账号就会出现一个不能创建账号的错误提示。
其他配置
参考项目的wiki即可:https://github.com/dani-garcia/bitwarden_rs/wiki
插件及App下载
可以到bitwarden官网自行下载:https://bitwarden.com/#download
连接自建的服务
以CHrome的插件为例子,如果之前有安装及登录过,可以在设置中退出登录。
点击左上角的设置图标,填写自建服务器的URL保存后登录即可。
结语
最后就可以愉快的在浏览器和手机上愉快的使用了,顺便说句:我的密码存储我做主,再也不用害怕密码忘记的事了,也可以记录些银行卡等隐私信息,随时复制。
您好,我按照您的教程服务搭建成功了。但是遇到一个问题,无论是导入密码,还是新建密码的时候都报错。
提示 发生意外错误。
请问是什么原因呢?
检查下防火墙是否放行
服务端口
,也就是文章中的6666
端口,还不行的话可以尝试删除站点、删除容器后重新搭建试试。那么问题来了,宝塔搭建的docker如何备份数据呢
备份站点目录即可
请问如果需要,转移的话怎么转移?
直接复制根目录到新的目录里面就行?
对 备份站点目录即可,启动的时候加上参数,参考关闭注册后重新启动容器
实操有效,内容详实,谢谢了
关闭注册一旦删除重启容器,所有数据全部丢失,详细的仔仔细细的看过运行目录了,很确认没做错。不知道什么情况
我测试过是不会删除数据的。
关闭注册删除容器用命令行新建有问题,删除新建之后,删除前的账号也没了
我测试过是不会删除数据的,用命令重新运行容器的时候保证里面的参数和你之前新建容器时候的参数保持一致。
容器名,路径,各种参数都是和原来一样的,试了好几次都不行|´・ω・)ノ
我刚测试过是可以的,停止容器->删除容器->命令启动容器,完成之后用之前注册的账号正常登录,存储的密码等数据都是存在的。
额。我没停止容器直接删除的,不知道是不是因为这个
我用的是宝塔的docker管理器,删除前要先停止。
那我再试试,先停止后删除对吧
你好,请问,我搭建好之后,怎么更换域名,突然想换个其他的域名。或者,怎么彻底删除我之前搭建的?这样我重新搭建一个……OωO
删除容器,删除站点
我还有两处不理解的敌方:一,为什么在宝塔里面添加站点的时候,FTP、数据库均不用创建,存密码不应该就是需要存在数据库里么?二、最后添加一个反向代理,为什么要添加反向代理,这一步的作用是什么啊……ヾ(≧∇≦*)ゝ