[技术向] 用 Docker 自建 Bitwarden_rs
准备工作
我们需要一个服务器,这里使用腾讯云轻量服务器提供的 Docker 镜像环境会更快哦
![[技术向] 用 Docker 自建 Bitwarden_rs](https://4563.org/wp-content/uploads/2021/03/20210326_605e36dd8a37c.png)
链接地址: https://curl.qcloud.com/dfMFnwqL 准备好服务器,登录服务器即可。下面是教程部分:
教程部分
Bitwarden 是一个免费、自由且开源的的密码管理器,服务端也完全开源,可以自己搭建。 本文中欧式将自建 bitwarden 的过程记录下来。
前言
<del>那个男孩不想拥有自己的密码管理器呢</del>,之前欧式都是 Google 密码和 iCloud keychain 一起用的,混合使用不仅难于跨平台同步(非 chrome/apple 设备的密码更是无法填充),而且数据也无法自己掌控。上了大学之后,欧式了解到了全平台开源密码管理器 bitwarden 。经过了将近半年的折腾,终于做得好用点了,现在记录一下。
准备的东西
一个服务器,有 200MB RAM
一个域名,这里就用了自己在使用的***(以 bitwarden.example.com 为例)***
<del>还有亿点点耐心和学习搭建密码管理器的兴趣</del>
下载 docker 镜像
这里我使用的是 Bitwarden_RS,虽然它是第三方用 Rust 重写的,但是需要的资源更少,而且默认开启高级会员的功能<del>谁不想白嫖呢</del>。
docker pull bitwardenrs/server:latest
打开你的域名 dns 管理界面,添加 bitwarden 的 dns 记录。
配置反代
情况 1:bitwarden 单独放在一个服务器上
直接跳到初始化配置,然后设置改为-p 80:80 -p3012:3012
情况 2:bitwarden 与多个对外服务共存
配置 Nginx 反代,根据具体情况修改
在 /etc/nginx/conf.d 目录下新建 bitwarden.conf,添加如下:
server { listen 80; listen [::]:80 listen 443 listen [::]:443; server_name bitwarden.example.com; location / { proxy_pass http://localhost:xxxx/; } }
保存并退出,重启 nginx:
systemctl restart nginx
或者直接重启 nginx 的镜像(如果用 nginx 的 docker 的话)
配置 bitwarden_RS
初始化运行
在命令行根据实际情况(需求)执行
docker run -d --name=bitwarden_rs -e WEBSOCKET_ENABLED=true -e LOG_FILE/data/bitwarden.log -p xxxx:80 -p XXXX:3012 -v /data-directory-you-want/:/data/ --restart=always bitwardenrs/server:latest
注:
-
–name=你想要在 docker 里面显示的名字 (此为可选但是欧式感觉比较方便后续管理)
-
80 和 3012 的设置端口不能冲突<del>此乃废话</del>
-
–restart=always 自动重启
-
-v /data-directory-you-want/:/data/ 注意这是从根目录开始的<del>废废欧式就是没主意到导致现在整个文件夹都在根目录还找了 1 个星期都没有找到</del> 注意权限
登录网页并设置初始账户
直接打开 bitwarden.example.com ,就出现如下图所示界面(根据浏览器语言会有相应语言)
直接按着引导走就是了。
高级设定
开启管理界面
添加环境变量-e ADMIN_TOKEN=XXXX ( XXXX 为管理界面密码)
打开 bitwarden.example.com/admin,用你设置好的 token 登入
登入后在 general settings 那里把 domain url 改成你的域名 https://bitwarden.example.com(注意要加 https://)
allow new signups 就是新用户注册许可啦(
![[技术向] 用 Docker 自建 Bitwarden_rs](https://4563.org/wp-content/uploads/2021/03/20210326_605e36ed429ce.png)
添加 SMTP 服务
配置 SMTP 服务可以开启 bitwarden 的邮件传送功能,能开启二步验证(2FA),能发送邀请,<del>还能给自己邮箱发送 password hint(管理密码提示)防止自己脑残忘掉 master password</del>
这里欧式用的是 yandex 的 self-host email,配置教程可以看newslearner 的教程(有些内容有可能过时)或者yandex 自己的教程(EN)。
- 创建新的成员账户,即需要用的收发信账户。
- 登入并完成注册。
- 打开yandex mail登入,打开设置
![[技术向] 用 Docker 自建 Bitwarden_rs](https://4563.org/wp-content/uploads/2021/03/20210326_605e36f1b07b9.png)
- 选 other,然后左边选 email client,开启第三方客户端访问权限
![[技术向] 用 Docker 自建 Bitwarden_rs](https://4563.org/wp-content/uploads/2021/03/20210326_605e36ff3f055.png)
- 到 security 那里,生成 app password 并复制。
- 回到管理界面,在 smtp Email settings 那里如图填(或者叫 Starttls on,port 587),password 就填入刚才生成的 app password 。
![[技术向] 用 Docker 自建 Bitwarden_rs](https://4563.org/wp-content/uploads/2021/03/20210326_605e37089b202.png)
- 保存,并到下方的 send test email 测试
- 收到测试邮件如下即成功!
![[技术向] 用 Docker 自建 Bitwarden_rs](https://4563.org/wp-content/uploads/2021/03/20210326_605e37116ce0b.png)
![[技术向] 用 Docker 自建 Bitwarden_rs](https://4563.org/wp-content/uploads/2021/03/20210326_605e3715cd972.png)
9.enjoy~
##Links: Bitwarden 官网:https://bitwarden.com/ Bitwarden_RS Github 页面(有任何问题记住要往这边反映):https://github.com/dani-garcia/bitwarden_rs Bitwarden_Rs Docker 页面: https://hub.docker.com/r/bitwardenrs/server