51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

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

应海阔蓝童鞋的需求分享如何使用 Docker 部署 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 加密,以保证密码的安全。

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

赞(1)
未经允许不得转载:工具盒子 » 用脚本部署 Bitwarden 密码管理平台