应海阔蓝童鞋的需求分享如何使用 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
|
启动服务 {#启动服务}
使用下面命令启动服务:
|-----------|-----------------------------------|
| 1
| sudo ./bitwarden.sh start
|
其它指令列表如下:
| 指令 | 作用 | |------------|-------------------------------------------------------------------------------------------------| | restart | 重新启动所有容器「与 start 相同」 | | stop | 停止所有容器 | | update | 更新所有容器和数据库 | | updatedb | 更新、初始化数据库 | | updaterun | 更新运行脚本文件 | | updateself | 更新此主脚本 | | updateconf | 在不重新启动正在运行实例的情况下更新所有容器 | | uninstall | 在执行此命令之前,系统将提示保存数据库文件。将创建数据库的 tar 文件,包括最新备份。停止容器,删除目录及其所有内容,并删除临时卷。执行后系统将询问是否要清除所有 Bitwarden 镜像 | | renewcert | 续订证书 | | rebuild | 从 config.yml 中重建生成的安装资产 | | help | 列出所有命令 |
访问页面 {#访问页面}
写在最后 {#写在最后}
前端建议用 Nginx 反向代理,并通过 SSL 加密,以保证密码的安全。
后期杜老师也会进一步整理此文,并尽可能增加应用实例。