update:更新宝塔安装docker并设置bitwarden的方法,比这个要简单,具体见链接:https://shyper.cf/index.php/archives/47/

我一直是在用lastpass插件作为我密码保存的重要工具,基本上网络上的密码都是在用这个插件进行保存。也没有特别不方便的地方。最近发现bitwarden有开源,而且还可以用docker,想想密码这样可以放在自己数据库里。对于我这种小站,应该没有什么特殊兴趣的人会进行攻击。风险相对是不是会高一些。所以就查了一些资料。结果发现搭建自己的密码管理系统是相当的简单。而且功能比lastpass还要强大。

  1. 安装前准备

    1. 一台主机,vps,当然如果本地使用的话,有自建服务器也可以,bitwarden建议用docker,不过bitwarden是基于.Net架构,体积比较大,这里采用的是第三方开源版bitwarden_rs,项目地址:https://github.com/dani-garcia/bitwarden_rs
    2. 一个域名,内网用户应该可以用ip,具体我没有试验
  2. 安装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容器,并显示结果,如果内网用户可能下载不到,只要有命令输出就代表安装完成。

  1. 安装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的登陆页面了

  1. 注意事项
    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官方服务器。这个软件甚至支持二次验证,指纹验证,功能还是比较强大。

评论已关闭