密码管理工具有很多,但我之前都没怎么用过,主要是我基本都是使用Chrome浏览器,也就一直使用Chrome自带的密码功能,它基本可以满足日常使用的。不过最近接触到Bitwarden这个密码管理工具,界面简洁、操作简单,觉得也挺不错的。
Bitwarden的特点是跨平台的,可以在不同的操作系统安装,也可以在不同的浏览器中使用Chrome的扩展插件访问密码库,其次它还是免费开源的,并且可以本地部署,也就是可以在自己的群晖Docker上搭建,这样数据库就掌握在自己的手里了。
Docker部署Bitwarden服务端
一、在群晖Docker里【注册表】里搜索bitwarden,选择bitwardenrs/server下载并在【映像】中启动。
二、启动bitwardenrs/server,在【高级设置】中,分别设置卷、端口、变量。
在docker目录下新建bitwarden目录,并在bitwarden目录下新建ssl和data两个目录,如下图设置:
在卷设置里添加文件夹和对应的装载路径,如下图:
把第一个3012的容器端口删除,只保留80端口,本地端口自定义,比如1234等。
这样就可以通过http://群晖ip:1234访问到bitwarden服务端了。
开启远程访问
建议通过DDNS或者FRP访问服务端并开启SSL,先在路由器里设置好端口转发,然后通过群晖的反向代理服务器做反向代理并配置证书,实现https访问,但这种方法我没成功,也没找到什么原因,所以只能在环境变量里开启https访问并配置好证书路径。
这里要说明的下,如果你是使用DDNS域名访问,就把DDNS域名的证书文件放在/docker/bitwarden/ssl目录里,如果你是想通过别的域名访问服务端的话,可以先通过CNAME别名解析到DDNS域名上,同样也要把你的想用的域名证书文件放在/docker/bitwarden/ssl目录里。
最后启用https,在环境变量中添加ROCKET_TLS,值为{certs="/ssl/xxx.crt",key="/ssl/xxx.key"}(注意:证书文件名以自己的证书文件名为准,有的证书格式是pem的。)
最后
备份数据库方法:直接复制/docker/Bitwarden/data/目录下的db.sqlite3文件,或者登录自建的Bitwarden网页密码库,通过【工具】-【导出密码库】导出密码。
关闭注册:添加环境变量SIGNUPS_ALLOWED,值false。
关闭邀请:添加环境变量INVITATIONS_ALLOWED,值false。