Unified 部署 (Beta)

这是一个测试版,这意味着此部署选项可能不稳定并存在问题。如果您管理 Bitwarden 组织密码库,我们建议使用官方支持的标准部署选项。

了解如何报告问题

本文将引导您安装和启动 Bitwarden Unified 自托管部署。使用此部署方法可以:

  • 通过使用单个 Docker 映像部署 Bitwarden 来简化配置并优化资源使用(CPU、内存)。

  • 利用不同的数据库解决方案,例如 MSSQL、PostgreSQL、MySQL/MariaDB。

  • 使用替代系统在 ARM 架构上运行,例如 Raspberry Pi 和 NAS 服务器。

系统要求

Bitwarden Unified 部署需要:

  • 至少 200 MB RAM

  • 1GB 存储

  • Docker Engine 19+

安装 Docker

Unified 部署使用 Docker 容器在您的机器上运行。Unified 部署可以与任何 Docker 版本或计划一起运行。请评估哪个版本最适合您的安装。

在继续安装之前需要在您的计算机上安装 Docker。请参阅以下 Docker 文档获取帮助:

运行 Bitwarden Unified

可以使用 docker run 命令(参见此处)或使用 Docker Compose(参见此处)运行 Unified 部署。无论哪种方式,您都需要为容器指定环境变量。

指定环境变量

运行 Unified 部署需要为容器设置环境变量。可以通过创建一个 settings.env 文件来指定环境变量,您可以在我们的 GitHub 存储库中找到该文件的示例,或者如果您使用的是 docker run 方式,则可以使用 --env 标志来指定。一系列可选的变量可用于更个性化 Unified 部署体验。有关这些变量的更多详细信息,请参阅此处

至少为示例 .env 文件的 # Required Settings # 部分下的变量设置值:

与 Bitwarden 标准部署不同,Unified 部署使用的数据库并不是开箱即用的。您可以使用现有数据库,也可以创建一个新数据库,如本示例中所述,在这两种情况下,您都必须在本文档记录的 BW_DB_... 变量中输入有效的信息。

使用非 MSSQL 数据库提供程序可能会导致性能问题,对这些平台的支持将在整个测试版中继续进行。请使用此问题模板报告与您的 Bitwarden Unified 部署相关的任何内容,并查看此页面以跟踪已知问题或加入讨论。

使用 docker run

可以使用 docker run 命令运行 Unified 部署,如下示例:

docker run -d --name bitwarden -v ./bwdata/:/etc/bitwarden -p 80:80  --env-file settings.env bitwarden/self-host:beta

上面的命令有一系列 docker run 命令必需的选项,包括:

运行此命令后,验证容器是否正在运行且运行状况良好:

docker ps

恭喜!您的 Unified 部署现已启动并运行在 https://your.domain.com 上了。在您的浏览器中访问网络密码库以确认它正在运行。您现在可以注册一个新帐户并登录。

使用 Docker Compose

使用 Docker Compose 运行 Unified 部署需要 Docker Compose 版本 1.24+。要使用 Docker compose 运行 Unified 部署,请创建一个 docker-compose.yml 文件,例如:

---
version: "3.8"

services:
  bitwarden:
    depends_on:
      - db
    env_file:
      - settings.env
    image: bitwarden/self-host:beta
    restart: always
    ports:
      - "80:80"
    volumes:
      - bitwarden:/etc/bitwarden

  db:
    environment:
      MARIADB_USER: "bitwarden"
      MARIADB_PASSWORD: "super_strong_password"
      MARIADB_DATABASE: "bitwarden_vault"
      MARIADB_RANDOM_ROOT_PASSWORD: "true"
    image: mariadb:10
    restart: always
    volumes:
      - data:/var/lib/mysql

volumes:
  bitwarden:
  data:

docker-compose.yml 文件中,确保任何所需的配置包含:

  • 日志和 Bitwarden 数据的映射卷。

  • 映射端口。

  • 配置数据库镜像。ª

ª 仅在 docker-compose.yml 中设置数据库,如上例所示,如果您想创建一个新的数据库服务器以与 Bitwarden 一起使用。 用于 MySQL、MSSQL 和 PostgreSQL 的示例配置包含在我们的示例文件中。

创建 docker-compose.ymlsettings.env 文件后,运行以下命令启动 Unified 服务器:

docker compose up -d

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

docker ps

恭喜!您的 Unified 部署现已启动并运行在 https://your.domain.com 上了。在您的浏览器中访问网络密码库以确认它正在运行。您现在可以注册一个新帐户并登录。

更新您的服务器

要更新您的 Unified 部署:

1、停止正在运行的 Docker 容器:

docker stop bitwarden

2、移除 Docker 容器:

docker rm bitwarden

3、运行以下命令来拉取最新的 Bitwarden Unified 镜像:

docker pull bitwarden/self-host:beta

4、再次运行 Docker 容器:

docker run -d --name bitwarden -v ./bwdata/:/etc/bitwarden -p 80:80 --env-file settings.env bitwarden/self-host:beta

环境变量

默认情况下,Unified 部署可以在不具备一些列标准 Bitwarden 服务的情况下运行。这允许增加 Unified 部署的定制和优化。通过编辑各种环境变量来配置这些服务和更多可选设置。

每当您更改环境变量后,都需要重新创建 Docker 容器。在这里了解更多。

Webserver 端口

SSL

使用这些值更改证书设置。有关更多信息,请参阅证书选项

服务

通过更改以下值,可以针对特定用例(例如企业或团队需求)启用或禁用其他服务:

电子邮件

为您的 Unified 部署配置 SMTP 设置。将您选择的邮件 SMTP 提供商的信息复制到以下字段中:

Yubico API (YubiKey)

其他

重新启动容器

要在更改环境变量后重新启动 Docker 容器,请从 Bitwarden Unified 部署目录运行以下命令:

1、停止正在运行的 Docker 容器:

docker stop bitwarden

2、移除 Docker 容器:

docker rm bitwarden

3、再次运行 Docker 容器:

docker run -d --name bitwarden -v ./bwdata/:/etc/bitwarden -p 80:80  --env-file settings.env bitwarden/self-host:beta

内存使用

默认情况下,Bitwarden 容器消耗的内存,通常超过运行所需的最低内存。对于内存敏感的环境,您可以使用 docker -m--memory= 来限制 Bitwarden 容器的内存使用。

要使用 Docker Compose 控制内存使用,请使用 mem_limit 键:

services:
  bitwarden:
    env_file:
      - settings.env
    image: bitwarden/self-host:beta
    restart: always
    mem_limit: 200m

报告问题

虽然 Bitwarden Unified 部署仍处于测试版,但我们鼓励您通过 GitHub 报告问题并提供反馈。请使用此问题模板报告与您的 Bitwarden Unified 部署相关的任何内容,并查看此页面以跟踪已知问题或加入讨论。

附加资源

有关 Bitwarden 标准自托管部署的更多信息,请参阅:

最后更新于