以前一直在使用lastpass管理密码,最近因为lastpass强制收费。发现Bitwarden这个密码管理系统,Bitwarden 可以免费使用,付费解锁高级功能,高级版价格 10 美元 / 年。前后端全都开源,如果不想用 Bitwarden 官方服务,可以自己利用 docker 自己部署,免费体验高级版的功能。
因为官方的Bitwarden服务器使用MSSQL数据库 .Net 开发,镜像体积很大,部署官方的docker镜像对配置要求很高,有人用 Rust 实现了 Bitwarden 服务器,项目叫 Bitwarden_rs,并且提供了 Docker 镜像,对服务器配置的要求很低,并且 Docker 镜像体积很小,个人用很合适。下面分享一下用Docker部署Bitwarden_rs后端服务器的过程
准备
安装 Docker
在终端中运行下面的命令安装 Docker。
1 |
|
安装 Docker Compose
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用,本文使用 docker-compose 来管理服务。
1 |
|
你可以通过修改URL中的版本,可以自定义您的需要的版本。
部署
1 |
|
在bitwarden
目录创建docker-compose.yml
文件
1 |
|
在docker-compose.yml写入一下配置,参考官方wiki
1 |
|
运行服务
1 |
|
代理
我是通过Nginx代理实例,也可以使用Caddy、Apache等做反向代理,因为我的服务器已经装过LNMP,直接用lnmp vhost add
就能建立vhost并配置好https,为了安全强烈推荐配置HTTPS,反向代理配置可以参考项目wiki
在你的Nginx插入一下配置
1 |
|
在vhost目录/home/wwwroot/Bitwarden创建一个robots.txt 文件 写入以下内容禁止搜索引擎爬虫抓取
1 |
|
备份
数据无价,设置定时备份数据库。bitwarden-rs的数据库在~/bitwarden/bw-data目录,里面还有密钥文件和网站图标缓存,这些都是可选的,以下脚本只备份数据库。
1 |
|
设置定时任务,修改文件 /etc/crontab
插入一下内容
1 |
|
以上表示,每天凌晨 1 ,root 用户执行一次 bitwarden_rs-backup.sh 脚本。
大功告成
注册完账号后,把SIGNUPS_ALLOWED
选项改成fale
重启实例关闭注册,
导入lastpass文件