南方这里使用的是宝塔面板并且已安装 docker 管理器,默认大家配置与南方一致。
1、准备工作
首先需要将域名解析至服务器 IP 地址,并且保证防火墙已开放 80 和 443 端口。
SSL证书一个
2、安装 Docker
如果已经安装,可以忽略该步骤,如果没有安装,进入到宝塔面板的软件商店,搜索 Docker 安装即可。
或者使用下面代码安装 Docker (已经有Docker环境的请跳过):
# 1、登录root,获取在线安装脚本(这里直接使用root账号,简化流程)
curl -fsSL https://get.docker.com -o get-docker.sh
# 2、执行安装脚本
sh get-docker.sh --mirror AzureChinaCloud
# 3、启动Docker并加入开机启动项
systemctl daemon-reload
systemctl enable docker
systemctl start docker
# 4、验证是否安装成功(有Docker信息输出即为成功):
docker info
3、获取 Bitwarden_rs 镜像
打开 Docker 管理器,点击获取镜像,输入 Bitwarden_rs 的官方镜像 bitwardenrs/server 后点击获取镜像。
或者使用下面代码 Docker 一键部署方式,可跳过第 4 步,命令如下:
docker run -d \
--name Bitwarden \
-p 8080:80 \
--restart=always \
-e SIGNUPS_ALLOWED=true \
-e WEB_VAULT_ENABLED=true \
-v /data/bitwarden/data:/data \
bitwardenrs/server:latest
4、创建容器
- 点击创建容器按钮
- 填写端口映射中的容器端口:80 ,服务端口:8080 (8080可以自定义,如有防火墙,需放行该端口号)
- 填写目录映射中的服务器目录:/data/bitwarden/data ,(该目录为密码数据文件,可自定义,可设置为网站目录,方便宝塔面板之间备份。) ,容器目录:/data
- 填写内存配额,根据自己服务器的配置按需填写
- 提交创建容器
- 点击容器名称,修改容器名称为 Bitwarden 以区分
端口映射和目录映射填写完成后一定要点击后面的 + 号进行添加
5、部署反向代理
使用宝塔面板新建网站,FTP、数据库都可以不用创建,PHP 选择纯静态。
网站添加完成后配置 SSL ,因为是个 DEMO 项目,南方这里就直接使用 Let’s Encrypt 免费证书,宝塔面板支持一键生成证书。最后设置完毕后开启强制 Https 。如果没有配置 HTTPS ,将无法使用 Bitwarden 。
最后添加反向代理,名称随意填,目标URL为:http://127.0.0.1:8080 。端口号一定要与前面创建容器时的服务端口一致!
6、自建完成,开始注册账户并使用
完成了以上步骤,现在访问域名就可以使用 Bitwander ,如访问不了查看端口是否放行。
首次完成安装页面是英文的,自己可以创建一个账号登录进去,在设置-选项-语言中设置语言。
密码数据备份
密码加密后数据在服务器 /data/bitwarden/data 目录下。直接将该目录打包备份即可。
密码数据一定要备份至两个地方以上!!!
如何关闭注册功能
在 Docker 管理器中停止容器,并删除。(放心数据不会丢失!)或者在服务器终端中运行 docker rm -f Bitwarden 代码。两者二选一。
然后在服务器终端中运行以下代码:
docker run -d \
--name Bitwarden \
-p 8080:80 \
--restart=always \
-e SIGNUPS_ALLOWED=false \
-e WEB_VAULT_ENABLED=true \
-v /data/bitwarden/data:/data \
bitwardenrs/server:latest
现在就已经无法注册了,如图所示:
这样一来,我们部署的 Bitwarden 就无法再新增注册用户了,当需要注册新用户时,只需要修改这个参数重建下容器即可 。
如何启用管理页面
其中 some_random_token_as_per_above_explanation 为 Authentication key ,可自定义设置。
docker run -d --name Bitwarden \
-p 8080:80 \
--restart=always \
-e ADMIN_TOKEN=some_random_token_as_per_above_explanation \
-v /data/bitwarden/data:/data \
bitwardenrs/server:latest
升级 Bitwarden 镜像
# 1. 重新拉取镜像
docker pull bitwardenrs/server:latest
# 2. 停止、删除原容器
docker stop bitwarden
docker rm bitwarden
# 3. 重新运行 docker run 命令
# 4. 查看镜像文件
docker image ls
# 5. 删除原镜像文件, $ID 在 step4 中可以看到
docker image rm $ID
其他配置
参考项目的 wiki 即可:https://github.com/dani-garcia/bitwarden_rs/wiki
另外项目的 wiki(中文翻译版):https://bitwardenrs.ppgg.in
靠谱,准备在NAS上搞搞,原理一样,数据放本地,再做个备份,确实不错!
原理一样,把备份做好就行了。
学习了,多谢分享!