用脚本部署 Bitwarden 密码管理平台

准备工作

在开始部署 Bitwarden 之前,请确保已经安装 Docker。这里以 Ubuntu 为例,更新软件包索引并安装软件包以允许使用基于 HTTPS 存储库:

1
2
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

添加 Docker 官方 GPG 密钥:

1
2
3
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

使用以下命令设置软件包存储库:

1
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新索引:

1
sudo apt-get update

安装 Docker Engine 等相关组件:

1
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

通过运行映像以验证 Docker 引擎安装是否成功「可选」

1
sudo docker run hello-world

拉取源码

1
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod +x bitwarden.sh

注意:将 Bitwarden 安装脚本 bitwarden.sh 下载到计算机上。

部署项目

1 为设置访问域名;2 为是否申请安全访问证书「为了演示,杜老师这里选择否」3 为设置数据库的名称「可自定义」4 输入安装 ID「申请页见下图」5 输入安装 KEY;6 是否自定义安全证书「为了演示,杜老师这里选择否,如果遇到问题,可在评论区中留言」7 是否配置自签名证书:

1
2
3
4
5
6
7
8
penn@penn-virtual-machine:~$ sudo ./bitwarden.sh install
(1) Enter the domain name for your Bitwarden instance (ex. bitwarden.example.com): bw.dusays.com
(2) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): n
(3) Enter the database name for your Bitwarden instance (ex. vault): bitwarden
(4) Enter your installation id (get at https://bitwarden.com/host):
(5) Enter your installation key:
(6) Do you have a SSL certificate to use? (y/n): n
(7) Do you want to generate a self-signed SSL certificate? (y/n): n

安装 ID 和 KEY 的申请页面如下:

启动服务

使用下面命令启动服务:

1
sudo ./bitwarden.sh start

其它指令列表如下:

指令作用
restart重新启动所有容器「与 start 相同」
stop停止所有容器
update更新所有容器和数据库
updatedb更新、初始化数据库
updaterun更新运行脚本文件
updateself更新此主脚本
updateconf在不重新启动正在运行实例的情况下更新所有容器
uninstall在执行此命令之前,系统将提示保存数据库文件。将创建数据库的 tar 文件,包括最新备份。停止容器,删除目录及其所有内容,并删除临时卷。执行后系统将询问是否要清除所有 Bitwarden 镜像
renewcert续订证书
rebuild从 config.yml 中重建生成的安装资产
help列出所有命令

访问页面

项目启动后根据之前设置的域名访问:

写在最后

前端建议用 Nginx 反向代理,并通过 SSL 加密,以保证密码的安全。

后期杜老师也会进一步整理此文,并尽可能增加应用实例。

本文链接:https://my.lmcjl.com/post/16377.html

展开阅读全文

4 评论

留下您的评论.