👨‍💻 只是玩玩 | JUST FUN

docker自建bitwarden服务

以前一直用的lastpass,后来中间出现过好几次服务器无法访问,疑似背墙的情况出现。而且chrome的插件、后台管理页面也没有中文。

蛋疼之下就开始找替代品,之前偶然在v2ex上看到有人推荐过bitwarden的开源密码管理器的服务,而且客户端、后台都有中文,且同时支持多平台。所以我索折腾了一下这个东西,因为要用ssl,所以我一直没折腾成功,后来又试过用腾讯的开源应用平台,不过还是失败了。

因为我的图片都存放在七牛的服务器,但是有个扯淡的地方是七牛的ssl流量是不免费的...,所以我就暂时搁置了。

后来无意间在中文博客圈微信群里夏普的帮助下才算是正式在自己的vps上搭建了一个基于docker的bitwarden服务,而且不用全站ssl的方式。因为是通过命令启动的docker,所以这里记录一下过程,以免忘记。

安装docker

$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

配置国内镜像,并拉取bitwardenrs的docker镜像

$ mkdir -p /etc/docker/
$ echo "{\n'registry-mirrors': [\n'https://docker.mirrors.ustc.edu.cn'\n]\n}" > /etc/docker/daemon.json
$ systemctl daemon-reload
$ systemctl start docker
# 把docker加入开机自启
$ systemctl enable docker
# 拉取bitwardenrs镜像
$ docker pull bitwardenrs/server:latest

其他国内镜像

网易 http://hub-mirror.c.163.com
ustc https://docker.mirrors.ustc.edu.cn
中国科技大学 https://docker.mirrors.ustc.edu.cn

申请ssl证书

现在有很多平台都可以免费申请ssl证书,因为我的域名备案在腾讯云的,所以我直接在腾讯申请了个免费的ssl证书。

登录后台,在搜索处搜索SSL,点击【域名与网站】下的【ssl证书】

点击【我的证书】-> 【申请免费证书】,然后按要求填资料就好了,一般十几分钟就能下来。

申请完后点列表的下载就可以下载到SSL的证书文件压缩包。

我们通过sftp工具或者其他的方式把证书压缩包里的nginx目录下的两个【.crt,.key】文件放到服务器上去,并记住存放路径,之后会用到。

启动docker容器

$ docker run -d --name bitwarden \
  -e ROCKET_TLS='{certs="/ssl/cert.crt",key="/ssl/keys.key"}' \
  -e DOMAIN='https://你绑定的域名:33699' \
  -e SIGNUPS_ALLOWED=false \
  -v /data/ssl/:/ssl/ \
  -v /data/bw-data/:/data/ \
  -p 33699:80 \
  bitwardenrs/server:latest
  1. ROCKET_TLS:后面的xrts和key是我们上传的证书文件路径
  2. DOMAIN:我的绑定的域名,以及端口
  3. -p:端口转发到容器的80端口上。
  4. 然后访问你绑定的域名应该就可以正常访问了。

这里感谢sharp G.,点击左边的链接即可访问原文章。

docker run -d --name bitwarden -u 1002:1002 -e ROCKET_PORT=8080 -e INVITATIONS_ALLOWED=false  -e SIGNUPS_ALLOWED=false -e SHOW_PASSWORD_HINT=false -e ROCKET_TLS='{certs="/ssl/cert.crt",key="/ssl/keys.key"}'   -e DOMAIN='https://xxxxxx.sharpgan.com:33765/xxx'   -v /data/bw-ssl/:/ssl/   -v /data/bw-data/:/data/   -p 33765:8080   vaultwarden/server:latest