For the complete documentation index, see llms.txt. This page is also available as Markdown.

Linux 手动部署

这篇文章将指导您手动安装和部署 Bitwarden 到您自己的服务器。请查看 Bitwarden 软件发布支持文档。

要求

最低
推荐

处理器

x64, 1.4GHz

x64, 2GHz 双核

内存

2 GB RAM

4 GB RAM

存储

12 GB

25 GB

Docker 版本

Engine 26+ 以及 Composeª

Engine 26+ 以及 Composeª

ª - 当您下载 Docker Engine 时,Docker Compose 会作为插件自动安装。下载 Linux 版 Docker Engine

安装步骤

创建 Bitwarden 本地用户和目录

为您的 Linux 服务器配置一个专用的 bitwarden 服务账户,用来安装和运行 Bitwarden。这样做可以将您的 Bitwarden 实例与服务器上运行的其他应用程序隔离开来。更多信息,请参阅 Docker 的用于 Linux 的后续安装步骤文档。

1、创建 bitwarden 用户:

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

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

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

5、创建 bitwarden 目录:

6、为 /opt/bitwarden 目录设置权限:

7、将 bitwarden 用户设置为 /opt/bitwarden 目录的所有者:

下载和配置

要下载 Bitwarden 并配置 Bitwarden 服务器资产:

1、从 GitHub 上的发行页面下载 Bitwarden 依赖项的存档版本(docker-stub-US.zipdocker-stub-EU.zip)。例如:

2、创建一个名为 bwdata 的新目录,并将 docker-stub-US.zip 解压到其中,例如:

解压缩后,bwdata 目录需要与 ./docker/docker-compose.yml 文件的映射卷所期望的目录相匹配。如果您愿意,您可以在主机上更改这些映射的位置。

3、在 ./bwdata/env/global.override.env 中,编辑以下环境变量:

  • globalSettings__baseServiceUri__vault=:输入您的 Bitwarden 实例的域名。

  • globalSettings__sqlServer__ConnectionString=:将 RANDOM_DATABASE_PASSWORD 替换为安全的密码,供后续步骤使用。

  • globalSettings__identityServer__certificatePassword:设置一个安全的证书密码,供后续步骤使用。

  • globalSettings__internalIdentityKey=:将 RANDOM_IDENTITY_KEY 替换为一个随机的字母数字字符串。

  • globalSettings__oidcIdentityClientKey=:将 RANDOM_IDENTITY_KEY 替换为一个随机的字母数字字符串。

  • globalSettings__duo__aKey=:将 RANDOM_DUO_AKEY 替换为一个随机的字母数字字符串。

  • globalSettings__installation__id=:输入从 https://bitwarden.com/host 获取到的安装 ID。

  • globalSettings__installation__key=:输入从 https://bitwarden.com/host 获取到的安装密钥。

lightbulb

4、从 ./bwdata 为身份容器生成一个 .pfx 证书文件并将其移动到已映射的卷目录(默认为 ./bwdata/identity/)。例如,运行以下命令:

然后

在上述命令中,将 IDENTITY_CERT_PASSWORD 替换为在步骤 3 中创建和使用的证书密码。

5、在 ./bwdata/ssl 中创建一个以您的域名命名的子目录,例如:

6、在新创建的 ./bwdata/ssl/bitwarden.example.com 子目录中提供受信任的 SSL 证书和私钥。

此目录映射到 NGINX 容器的 /etc/ssl 目录。如果您无法提供受信任的 SSL 证书,请在安装前使用代理,以为 Bitwarden 客户端应用程序提供一个 HTTPS 端点。

7、在 ./bwdata/nginx/default.conf 中:

  1. 将所有实例 bitwarden.example.com 替换为您的域名,包括 Content-Security-Policy 标头。

  2. ssl_certificatessl_certificate_key 变量设置为步骤 7 中提供的证书和私钥的路径。

  3. 根据您的证书设置,执行以下操作之一:

    • 如果您使用受信任的 SSL 证书,请将 ssl_trusted_certificate 变量设置为证书的路径。

    • 如果您使用自签名证书,请注释掉 ssl_trusted_certificate 变量。

8、在 ./bwdata/env/mssql.override.env 中,将 RANDOM_DATABASE_PASSWORD 替换为在步骤 3 中创建的密码。

9、在 ./bwdata/web/app-id.json 中,将 bitwarden.example.com 替换为您的域名。

10、在 ./bwdata/env/uid.env 中,设置您之前创建的 bitwarden 用户和组群的 UID 和 GID,以便容器在它们下面运行,例如:

启动您的服务器

使用以下命令启动您的 Bitwarden 服务器:

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

Docker 健康

恭喜!Bitwarden 现在已启动并运行在您指定的域名(如上面的示例 https://bitwarden.example.com)上了。在网页浏览器中访问网页密码库以确认它是否已经正常工作。

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

lightbulb

下一步

更新您的服务器

更新已手动安装和部署的自托管服务器与标准更新过程有所不同。要更新您手动安装的服务器:

  1. GitHub 发行页面下载最新的 docker-stub.zip 存档。

  2. 解压缩此新的 docker-stub.zip 存档,然后及将其内容与当前 bwdata 目录中的内容进行比较,将任何新内容复制到 bwdata 中预先存在的文件中。 不要使用较新的 docker-stub.zip 存档的内容直接覆盖您预先存在的 bwdata 目录,因为这会覆盖您已经完成的任何自定义配置工作。

  3. 运行以下命令以使用已更新的配置和最新的容器重新启动服务器:

最后更新于