我们在服务器搭建1panel面板之后,那么我们就能够折腾 bitwarden 了。而配置 ADMIN_TOKEN 与配置邮件时,有些容易踩坑的关键点,值得我们注意。

当然,下面的其实是 vaultwarden (由 bitwarden_rs 改名而来)。

安装bitwarden(vaultwarden)

在 1Panel 面板中,应用商店中搜索 bitwarden,即可安装。下面有些简单的操作我会跳过。

勾选端口外部访问

勾选端口外部访问

勾选编辑compose文件

勾选编辑compose文件

在 compose 文件中编辑:在 services 下的 bitwarden 下,添加以下内容,即:

1
2
3
4
5
6
services:
  bitwarden:
    environment:
    - TZ=Asia/Shanghai  # 设置时区,用于后续设置邮箱后,邮件内容的时间显示
    - DOMIN=your-domain.com  # 你准备将哪个域名用于反代这个服务,就设置哪个域名。此操作用于后续设置邮箱后,邮件内容的域名。
    - ADMIN_TOKEN=your-admin-token  # 用于后续设置邮箱后,登录admin界面的token,后续再改为argon2加密

请严格按照以上格式进行设置,不要多一个空格,也不要少一个空格。

部署完成后,创建一个反代网站用于访问 bitwarden 服务,并且设置好域名的SSL证书。

将ADMIN_TOKEN改为argon2加密

完了我们访问 https://域名/admin ,用上面设置的 ADMIN_TOKEN 进行登录。

然后我们会发现如下提示:

admin页面不安全提示

admin页面不安全提示

上面是由于我们之前设置的 ADMIN_TOKEN 是明文的(我们假设这个密码是旧密码),所以会有这样的提示,建议我们修改为 argon2 加密。

回到 1Panel 面板,在我们刚刚部署的容器列表这里,按照下图进入 bitwarden 容器内的终端。

进入bitwarden容器内的终端

进入bitwarden容器内的终端

在终端做,执行命令:

1
/bitwarden bash

然后输入两次你想要设置的密码(输入密码时不会显示),我们称现在设置的密码为新密码,就会有以下界面:

输入vaultwarden hash命令

输入vaultwarden hash命令

如上图,你会得到类似ADMIN_TOKEN='$argon2id$xxxxxxxxxxx'的字符串。

但是这个字符串有坑,不能直接复制到 compose 文件中。因为 compose 文件中$是特殊字符,需要转义为$$

因此,我们需要将字符串 ADMIN_TOKEN='$argon2id$xxxxxxxxxxx'中的$替换为$$,且去掉前后的单引号,即:ADMIN_TOKEN=$$argon2id$$xxxxxxxxxxx,也就是说原来有一个$,现在有两个$$

然后回到 1panel 面板,在我们刚刚部署的容器列表这里,点击“参数”,重新修改 compose 文件,并替换掉原来的 ADMIN_TOKEN 。

点击确认保存之后,需要手动重建容器(当然你也可以先试试“重启”容器,无效再重建容器)。

设置完密码之后需要重建容器

设置完密码之后需要重建容器

然后重新访问 https://域名/admin ,用上面设置的新密码进行登录。

配置邮箱(cloudflare email + resend)

由于我的域名是托管在 cloudflare 上,所以可以利用 cloudflare 上的免费的 email 路由服务。但是 cloudflare 上的免费的 email 路由服务,只能接收邮件,不能发送邮件。于是我们选择利用 resend 来发送邮件,resend 每月可免费发送 3000 封电子邮件(政策可能有变化,下同)。

除了resend,还有其他邮箱服务,比如:

  • mailjet ,每天 200 封电子邮件
  • brevo ,每天 300 封电子邮件
  • smtp2go ,每月 1000 封电子邮件

注册好 resend 后,我们需要在 resend 中配置域名、设置API Key,比较简单。

resend设置页面

resend设置页面

然后对照下图,在bitwarden的admin界面中配置好 smtp 服务。

resend的smtp页面

resend的smtp页面

bitwarden-admin页面的邮件设置

bitwarden-admin页面的邮件设置

如上图所示,它们的配置的对应关系如下:

Bitwarden 配置项 Resend SMTP 对应项
Host Host
Port Port
Username User
Password Password

其他设置:

  • Secure SMTP 请填写 force_tls
  • From Address 就是设置bitwarden系统邮件的发送者地址
  • From Name 就是设置bitwarden系统邮件的发送者名称
  • SMTP Auth mechanism 请填写 PLAIN
  • Server name sent during HELO 请填写 你的bitwarden域名,比如your-domain.com

bitwarden-admin页面汉化

如果你想要汉化 bitwarden-admin 页面,你可以参考以下链接:

简体中文 by @wcjxixi :vaultwarden-lang-zhcn

简体中文 by @JinkaiNiu :vaultwarden-zh-cn

还有一个汉化至今两年没更新了,我觉得没必要贴出来了。但我觉得好像都没有100%汉化

如果我闲的没事的话,说不定我也去用AI汉化一下,哈哈哈

并将相应的内容复制到如下图所示的位置:

bitwarden-admin页面汉化的文件存放位置

bitwarden-admin页面汉化的文件存放位置