文章目录[隐藏]
前言
我在22年7月搭建了Bitwarden,用来取代Firefox自带的密码管理器,主要看重了多平台同步,不限于浏览器(小米不知道为什么密码填充应用设置Firefox后不顶用),还有最重要的私有化部署。用了一年多体验确实非常不错,虽然要比Firefox自带的密码管理器多一两个步骤,但总体还是不错的。
最近更新Firefox浏览器插件后发现登录不上,提示“n is null”,百度得知是服务端版本太低,遂更新,并且顺带记下这次的重装过程,网上很多教程都没讲文档中类似sso、管理控制台之类的功能,这次我照着文档和大家细细道来。
安装 Docker 和 Docker Compose
Bitwarden 使用一组Docker容器部署和运行在你的机器上。Bitwarden 可以使用任何 Docker 版本或计划运行。评估哪个版本最适合你的安装。
容器的部署是通过Docker Compose协调的。某些 Docker 安装,包括 Docker for macOS,已经安装了 Docker Compose。
所以要先安装好Docker 和 Docker Compose,这里是两个链接,可以参考一下
获取安装ID和KEY
在这个网页(https://bitwarden.com/host/),填写你的邮箱,选择一个地址(不知道有啥意义),点Submit就能看到你申请的安装ID和KEY
建立工作目录
我建立了/data/bitwarden
目录来当作工作目录,并且切换到这个目录进行下一步操作
mkdir /data/bitwarden
cd /data/bitwarden
安装 Bitwarden
将 Bitwarden 安装脚本(bitwarden.sh
)下载到主机
curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh
运行安装脚本
./bitwarden.sh install
完成安装程序中的以下提示
- Enter the domain name for your Bitwarden instance(输入您的 Bitwarden 实例的域名):输入你准备用的域名就行
- Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n)(您想使用 Let's Encrypt 生成免费的 SSL 证书吗?):我们用NGINX反代,这里选N
- Enter the database name for your Bitwarden instance(输入Bitwarden实例的数据库名称):输入提示的vault就行
- Enter your installation id(输入您的安装 ID):刚刚在
https://bitwarden.com/host/
获取的安装ID - Enter your installation key(输入您的安装密钥):刚刚在
https://bitwarden.com/host/
获取的安装KEY - Enter your region (输入您所在的地区):刚刚在
https://bitwarden.com/host/
选择的地区 - Do you have a SSL certificate to use? (y/n)(您拥有自己的 SSL 证书吗?):选n
- Do you want to generate a self-signed SSL certificate? (y/n)(您想生成一个自签名证书吗?):选n
修改配置文件
我们来修改一下/data/bitwarden/bwdata/env/global.override.env
这个文件,配置一下邮箱,文件的12-17行和20行
替换globalSettings__mail__smtp...=
的占位符将配置 SMTP 邮件服务器,该服务器将用于向新用户发送验证电子邮件和向组织发送邀请。将电子邮件地址添加到adminSettings__admins=
将提供对管理门户的访问权限。
globalSettings__mail__replyToEmail=你的发件邮箱
globalSettings__mail__smtp__host=smtp服务器地址
globalSettings__mail__smtp__port=smtp服务器地址端口
globalSettings__mail__smtp__ssl=false(是否使用ssl)
globalSettings__mail__smtp__username=邮箱账号
globalSettings__mail__smtp__password=邮箱密码(很多邮件系统用授权码)
adminSettings__admins=管理员邮箱
修改完记得保存
因为要用NGINX反代,所以这里端口号设置成别的非80口。打开/data/bitwarden/bwdata/config.yml
这个文件,文件的第22行和26行
http_port: 1002
https_port: 4493
我这里把http修改为了1002,各位可以根据自己的需求设置,https随便改个不占用的就行
回到刚刚的命令行窗口,运行这句让配置生效
./bitwarden.sh rebuild
启动 Bitwarden
完成上面的所有步骤后,就可以启动了
./bitwarden.sh start
配置反代&SSL
Bitwarden要有SSL才可以运行,我们刚刚没有选择生成证书,就用NGINX来做吧
在宝塔里创建一个网站,域名填你刚刚安装的时候写的那个,php版本选纯静态。
创建好后先到SSL里申请并安装一个证书,Let's Encrypt的就行
之后到反向代理-添加反向代理,代理名称随便写,目标URL写http://127.0.0.1:1002
,其中1002就是你刚刚配置文件里改的那个端口号,然后提交保存
大功告成
这时候你打开你配置的域名就已经能看到主页了,注册一个账户,体验体验吧