update:更新宝塔安装docker并设置bitwarden的方法,比这个要简单,具体见链接:https://shyper.cf/index.php/archives/47/
我一直是在用lastpass插件作为我密码保存的重要工具,基本上网络上的密码都是在用这个插件进行保存。也没有特别不方便的地方。最近发现bitwarden有开源,而且还可以用docker,想想密码这样可以放在自己数据库里。对于我这种小站,应该没有什么特殊兴趣的人会进行攻击。风险相对是不是会高一些。所以就查了一些资料。结果发现搭建自己的密码管理系统是相当的简单。而且功能比lastpass还要强大。
安装前准备
- 一台主机,vps,当然如果本地使用的话,有自建服务器也可以,bitwarden建议用docker,不过bitwarden是基于.Net架构,体积比较大,这里采用的是第三方开源版bitwarden_rs,项目地址:https://github.com/dani-garcia/bitwarden_rs
- 一个域名,内网用户应该可以用ip,具体我没有试验
- 安装docker
2.1. 你需要先安装 Docker CE (社区版)和Docker Compose(可选项),以下命令是基于CenOS系统的演示,如果你是Ubuntu,请参考官网:
安装 Docker CE (社区版)https://docs.docker.com/engine/install/centos/ ----CentOS 安装 Docker CE (社区版):https://docs.docker.com/install/linux/docker-ce/ubuntu/ ----Ubuntu 安装 Docker Compose:https://docs.docker.com/compose/install/#install-compose
#卸载旧版
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如果yum提示没有安装包是正常现象
2.2.添加docker源
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2.3.安装
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果安装过程出现许可,请允许
查找Docker Engine版本:
$ yum list docker-ce --showduplicates | sort -r
从列表里找出对应的版本,例如docker-ce.x86_64 18.06.0.ce-3.el7,用18.06.0替换下面<VERSION_STRING>
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
2.4.启动docker
docker安装完默认没有启动,需要手动启动一下
$ sudo systemctl start docker
2.5.验证是否成功
$ sudo docker run hello-world
docker会自动下载hello-world容器,并显示结果,如果内网用户可能下载不到,只要有命令输出就代表安装完成。
安装docker Compose
需要curl支持,如果系统不支持,请自行脑补sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
1.28.2是版本,安装前最好去github看下最新版本是多少
#检测是否安装成功
docker-compose --version
#有输出即表示成功
docker-compose version 1.28.2, build 1110ad01
#如果提示命令不存在,可以手动创建链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4.配置Nginx
bitwarden_rs官方可以选择使用Caddy来搭建Web服务,但是我是使用Nginx来搭建Web。所以这次是在Nginx上进行。服务器同时安装了宝塔,因此架设相对比较简单。
4.1.bitwarden_rs安装
bitwarden_rs安装只需要一句代码就可以搞定:
docker pull bitwardenrs/server:latest
4.2.bitwarden_rs配置
docker run -d --name bitwarden \
-e SIGNUPS_ALLOWED=true \
-e WEBSOCKET_ENABLED=true \
-e LOG_FILE=/data/bitwarden.log \
-p 8880:80 \
-p 3012:3012 \
-v /bw-data/:/data/ \
bitwardenrs/server:latest
这一步主要是多了一些设置,比如允许注册,允许web登陆,docker80对应的本地端口8880,如果采用默认配置也可以,直接用下面的命令就可以,如果这样本地80端口就要被占用了
docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest
这样bitwardenrs就启动了
4.3.Nginx反向代理
宝塔面板,点网站--设置--反向代理--添加反向代理,目标url:127.0.0.1:8880,启用代理
4.4.验证
重启Ngnix,然后输入网站的地址,就可以显示bitwarden的登陆页面了
注意事项
5.1.建议关闭注册选项,但是这一步一定要放在最后,因为bitwarden的管理员也是需要先申请的。如果安装的时候就关闭,会导致没有办法建立管理员账号。docker run -d --name bitwarden \
-e SIGNUPS_ALLOWED=false \
-v /bw-data/:/data/ \
-p 80:80 \
bitwardenrs/server:latest
5.2.bitwarden的关闭和启动#关闭bitwarden
docker stop bitwarden
#启动bitwarden
docker start bitwarden
5.3.bitwarden升级# Pull the latest version
docker pull bitwardenrs/server:latest# Stop and remove the old container
docker stop bitwarden
docker rm bitwarden# Start new container with the data mounted
docker run -d --name bitwarden -v /bw-data/:/data/ -p 8880:80 bitwardenrs/server:latest
如果是默认端口,记得把8880改成80
5.4.bitwarden的资料是服务器的bw-data目录下,sqlite3数据库,安全起见可以定期备份到其他地方,升级或者重装后者移转只要把这个数据库复制进去就可以了
5.5.bitwarden可以采用网页登陆,插件登陆,app登陆,这也是我比较看好的地方。插件和app登陆前注意设定服务器为自己的地址服务器,不然会连接bitwarden官方服务器。这个软件甚至支持二次验证,指纹验证,功能还是比较强大。
评论已关闭