Linux 标准部署

这篇文章将引导你完成安装和部署 Bitwarden 到你自己的 Linux 服务器上的过程。Bitwarden 也可以安装和部署在 Windows 机器上。

系统规格要求

最低

推荐

处理器

x64, 1.4GHz

x64, 2GHz 双核

内存

2GB RAM

4GB RAM

存储

12GB

25GB

Docker 版本

Engine 19+ 以及 Compose 1.24+

Engine 19+ 以及 Compose 1.24+

如果您正在寻找价格实惠的优质供应商,我们推荐 DigitalOcean。立即开始或阅读我们在 DigitalOcean 上的关于 Bitwarden 的博客文章

TL;DR

[译者注]:TL;DL - Too long; Don't read,直译为「太长,请不要看」,实际意思为「此文篇幅较长,看此总结」,一般用在比较长篇幅的内容前面,后面跟着一段简短的总结内容。

以下是本文中安装步骤的摘要。本节中的链接将跳转至详细的安装步骤部分:

1、配置您的域名。设置你的域名 DNS 记录指向你的主机,并打开主机上的 80 和 443 端口。

2、在您的主机上安装 Docker 和 Docker Compose

3、创建一个 Bitwarden 用户和目录

4、从 https://bitwarden.com/host 获取安装 ID 和密钥用于安装过程。更多详细信息,请参阅我的安装 ID 和安装密钥是用来干什么的?

5、在你机器上安装 Bitwarden

6、在 ./bwdata/env/global.override.env 中调整设置以配置您的环境

至少要配置 globalSettings__mail__smtp... 变量以设置用于邀请和验证用户的电子邮件服务器。

7、启动您的实例

8、在网页浏览器中打开您配置的域名来测试您的安装。

安装步骤

配置您的域名

默认情况下,Bitwarden 通过本地主机上的 80(http)和 443(https)端口提供服务。您应该打开这些端口,以便可以从网络内部和/或外部访问 Bitwarden。如果你愿意,也可以在安装过程中选择使用其他端口。

我们建议配置一个带 DNS 记录的域名(例如,bitwarden.example.com)指向您的托管主机,特别是当您通过互联网提供 Bitwarden 服务时。

安装 Docker 和 Docker Compose

Bitwarden 使用一组 Docker 容器部署和运行在你的机器上。Bitwarden 可以使用任何 Docker 版本或计划运行。评估哪个版本最适合你的安装。

容器的部署是通过 Docker Compose 来协调的。某些 Docker 安装,包括 Docker for macOS,已经安装了 Docker Compose。

进行安装之前,请先在您的机器上安装 Docker 和 Docker Compose。请参考以下 Docker 文档以获得帮助:

创建 Bitwarden 本地用户和目录

Bitwarden 建议在你的 Linux 服务器上配置一个专用的 bitwarden 服务账户,用来安装和运行 Bitwarden。这样做可以将您的 Bitwarden 实例与服务器上运行的其他应用程序隔离开来。

这些步骤是 Bitwarden 推荐的最佳实践,但不是必须的。更多信息,请参阅 Docker 的用于 Linux 的后安装步骤文档。

1、创建 bitwarden 用户:

sudo adduser bitwarden

2、为 bitwarden 用户设置密码(强密码):

sudo passwd bitwarden

3、创建 docker 组(如果它不存在):

sudo groupadd docker

4、将 bitwarden 用户添加到 docker 组:

sudo usermod -aG docker bitwarden

5、创建 bitwarden 目录:

sudo mkdir /opt/bitwarden

6、授予 /opt/bitwarden 目录权限:

sudo chmod -R 700 /opt/bitwarden

7、授予 bitwarden 用户对 /opt/bitwarden 目录的所有权:

sudo chown -R bitwarden:bitwarden /opt/bitwarden

安装 Bitwarden

Bitwarden 提供了一个 Shell 脚本,可以轻松地在 Linux 和 macOS(Bash)或 Windows(PowerShell)上安装。完成以下步骤以使用 shell 脚本安装 Bitwarden:

如果您已经创建 Bitwarden 用户和目录,请从 /opt/bitwarden 目录中以 bitwarden 用户身份进行操作。

1、将 Bitwarden 安装脚本(bitwarden.sh)下载到您主机上:

curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh

2、运行安装脚本。这将相对于 bitwarden.sh 的位置创建 ./bwdata 目录:

./bitwarden.sh install

3、完成安装程序中的以下提示:

  • Enter the domain name for your Bitwarden instance(输入您的 Bitwarden 实例的域名): 通常,此值应该是已配置的 DNS 记录。

  • Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n)(您想使用 Let's Encrypt 生成免费的 SSL 证书吗?): 指定 y 来使用 Let's Encrypt 生成一个可信的 SSL 证书。你会被提示输入一个电子邮件地址,以便从 Let's Encrypt 获取到期提醒。更多信息,请参阅证书选项

    或者,指定 n 并使用 Do you have a SSL certificate to use? 选项。

  • Enter your installation id(输入您的安装 ID): 通过 https://bitwarden.com/host 使用一个有效的电子邮件地址来获取安装 ID。更多详细信息,请参阅我的安装 ID 和安装密钥是用来干什么的?

  • Enter your installation key(输入您的安装密钥):

    通过 https://bitwarden.com/host 使用一个有效的电子邮件地址来获取安装密钥。更多详细信息,请参阅我的安装 ID 和安装密钥是用来干什么的?

  • Do you have a SSL certificate to use? (y/n)(您拥有自己的 SSL 证书吗?): 如果你已经有自己的 SSL 证书,请指定 y,并将必要的文件放在 /.bwdata/ssl/your.domain 目录下。你会被问到是否使用受信任的 SSL 证书(y/n)。更多信息,请参阅证书选项

    或者,指定 n 并使用 self-signed SSL certificate? 选项,这只是为了测试目的而推荐的。

  • Do you want to generate a self-signed SSL certificate? (y/n)(您想生成一个自签名证书吗?): 指定 y 让 Bitwarden 为你生成一个自签名证书。这个选项只推荐用于测试。更多信息,请参阅证书选项

    如果你指定 n,你的实例将不使用 SSL 证书,你需要使用前置 HTTPS 代理来安装,否则 Bitwarden 应用程序将无法正常运行。

安装后配置

配置您的环境可能涉及对两个文件进行更改:一个环境变量文件和一个安装文件:

环境变量(必须

安装程序 Bitwarden.sh 未配置 Bitwarden 的某些功能。通过编辑位于 ./bwdata/env/global.override.env 的环境文件来配置这些设置。至少,您应该替换以下值:

...
globalSettings__mail__smtp__host=<placeholder>
globalSettings__mail__smtp__port=<placeholder>
globalSettings__mail__smtp__ssl=<placeholder>
globalSettings__mail__smtp__username=<placeholder>
globalSettings__mail__smtp__password=<placeholder>
...
adminSettings__admins=
...

替换 globalSettings__mail__smtp...= 的占位符将配置 SMTP 邮件服务器,该服务器将用于向新用户发送验证电子邮件和向组织发送邀请。将电子邮件地址添加到 adminSettings__admins= 将提供对管理门户的访问权限。

编辑 global.override.env 后,运行以下命令以使更改生效:

./bitwarden.sh restart

安装文件

Bitwarden 安装脚本使用 ./bwdata/config.yml 中的设置来生成必要的资产,以用于安装。某些安装场景(例如,在代理服务器后面使用备用端口进行安装)可能需要对 config.yml 进行调整,这些调整在标准安装过程中没有提供。

根据需要编辑 config.yml 文件,并使用以下命令以使更改生效:

./bitwarden.sh rebuild

启动 Bitwarden

完成上面的所有步骤后,启动您的 Bitwarden 实例:

./bitwarden.sh start

首次启动 Bitwarden 时,可能会花费一些时间,因为它会从 Docker Hub 下载所有镜像。

验证所有容器是否正常运行:

docker ps

恭喜你!Bitwarden 现在已启动并运行在 https://your.domain.com 上了。在网页浏览器中访问网页密码库以确认他是否已经正常工作。

现在,您可以注册一个新帐户并登录了。您需要配置 smtp 环境变量(请参阅环境变量)以验证新帐户的电子邮件地址。

脚本命令参考

Bitwarden 的安装脚本(bitwarden.shbitwarden.ps1)具有以下可用的命令:

PowerShell 用户将以前缀-(开关)运行命令。例如.\bitwarden.ps1 -start

命令描述

install

启动安装程序。

start

启动所有容器。

restart

重新启动所有容器(与 start 相同)。

stop

停止所有容器。

update

更新所有容器和数据库。

updatedb

更新/初始化数据库。

updaterun

更新 run.sh 文件。

updateself

更新主脚本。

updateconf

更新所有容器,而无需重新启动正在运行的实例。

uninstall

在执行此命令之前,系统会提示您保存数据库文件。选 y 将创建一个包含最新备份的数据库的 tar 文件。

停止容器,删除 bwdata 目录及其所有内容,并删除临时卷。执行后,系统会询问您是否还要清除所有 Bitwarden 镜像。

compresslogs

将所有服务器日志或指定日期范围内的服务器日志的压缩包下载到当前目录。

例如,使用 ./bitwarden.sh compresslogs 20240304 20240305 下载 2024 年 3 月 4 日至 2024 年 3 月 5 日的日志。

renewcert

续签证书。

rebuild

重建从 config.yml 生成的安装资产。

help

列出所有命令。

最后更新于