学习笔记 / 常用工具

使用群晖 Docker 搭建 bitwarden_rs 密码服务器

迷失小白菜 · 5月26日 · 2019年 · · · 118次已读

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

Docker 知识

官方的命令参数对应群晖 Docker 容器中的设置):

  • -v:对应容器中的 “卷”
  • -p:对应容器中的 “端口”
  • -e:对应容器中的 “环境”

docker中文教程

准备

  1. 群晖安装 Docker。直接在群晖的套件中心搜索安装即可
  2. 你得有一个域名,并且有证书。因为 Bitwarden 必须 https 登录,否则不能注册(注册时不能提交)和登录(提示 Cannot read property ‘importKey’)。证书可以在阿里云免费申请,申请好以后导入群晖中即可。
  3. 群晖中新建 docker/bwdata 目录(这个你自己随意建)

安装 Bitwarden 服务端

群晖 Docker-注册表中搜索 mprasil/bitwarden,下载映像

或者 SSH 里使用命令

docker pull mprasil/bitwarden:latest

启动此映像,修改相应的容器设置如下:

  • 卷” 中添加 “文件夹路径”docker/bwdata(根据你建的文件夹的路径修改);“装载路径”/data/(不能修改)
  • “端口设置”:本地端口 8080(这个填写群晖未使用的一个端口即可);容器端口 80(此容器的端口);类型 TCP
图上的 /docker/bitwarden 为我自己用的地址.你可以改成你自己想要的位置

确定保存后运行本容器

群晖中设置反向代理

“控制面板”- “应用程序”- “应用程序门户”- “反向代理服务器”,新增一个反向代理服务器规则,如图:

然后去外部网络哪里把最终的8443端口开放外网访问即可

注意.这里群晖请安装好有效证书,不然GG

搭建完成

浏览器中输入 https://mydomain.com:8443 应该就可以访问了

请把 mydomain.com 改成你的群晖IP或者域名后访问

备份数据库

直接复制 docker/bwdata 文件夹下的 db.sqlite3 的几个文件即可.也可以直接复制当前文件夹

关闭注册

添加环境变量 SIGNUPS_ALLOWED,值 false

关闭邀请

添加环境变量 INVITATIONS_ALLOWED,值 false

升级镜像

#登陆群晖后改为root权限
sudo root
docker pull mprasil/bitwarden:latest

升级完成后,删除旧的容器~~通过新的映像重新创建容器即可,data目录和2个端口重新设置和之前一样就行

客户端使用

客户端运行后,点击设置,添加好网页地址保存.然后登陆使用即可.

对于使用任何密码管理工具的人来说,主密码的重要性不言而喻。一旦主密码泄漏,相当于将所有帐号密码拱手相让;

一旦主密码丢失,所有数据也都化作灰灰,随风而去。

所以,请时常审视、改进你的安全策略,定期对帐号做安全审查,不定期修改并牢记主密码。

参考链接