安装和部署-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。请参阅以下 Docker 文档获取帮助:
运行 Unified 部署需要为容器设置环境变量。可以通过创建一个
settings.env
文件来指定环境变量,您可以在我们的 GitHub 存储库中找到该文件的示例,或者如果您使用的是 docker run
方式,则可以使用 --env
标志来指定。一系列可选的变量可用于更个性化 Unified 部署体验。有关这些变量的更多详细信息,请参阅此处。至少为示例
.env
文件的 # Required Settings #
部分下的变量设置值:变量 | 描述 |
---|---|
BW_DOMAIN | 将 bitwarden.yourdomain.com 替换为用于访问 Bitwarden 所使用域名。 |
BW_DB_PROVIDER | 您将用于 Bitwarden 服务器的数据库提供程序。可用选项包括 sqlserver 、postgresql 或 mysql /mariadb 。 |
BW_DB_SERVER | 运行数据库的服务器的名称。 |
BW_DB_DATABASE | 您的 Bitwarden 数据库的名称。 |
BW_DB_USERNAME | 用于访问 Bitwarden 数据库的用户名。 |
BW_DB_PASSWORD | 用于访问 Bitwarden 数据库的密码。 |
BW_INSTALLATION_ID | |
BW_INSTALLATION_KEY |
可以使用
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
命令必需的选项,包括:名称,缩写 | 描述 |
---|---|
--detach , -d | 在后台运行容器并输出容器 ID。 |
--name | 为容器提供一个名称。该示例中使用的是 bitwarden 。 |
--volume , -v | 绑定挂载卷。至少挂载 /etc/bitwarden 。 |
--publish , -p | 将容器端口映射到主机。该示例显示映射了 80 端口。配置 SSL 时需要使用 443 端口。 |
--env-file |
运行此命令后,验证容器是否正在运行且运行状况良好:
docker ps
恭喜!您的 Unified 部署现已启动并运行在
https://your.domain.com
上了。在您的浏览器中访问网络密码库以确认它正在运行。您现在可以注册一个新帐户并登录。使用 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.yml
和 settings.env
文件后,运行以下命令启动 Unified 服务器:docker compose up -d
验证所有容器是否正常运行:
docker ps
恭喜!您的 Unified 部署现已启动并运行在
https://your.domain.com
上了。在您的浏览器中访问网络密码库以确认它正在运行。您现在可以注册一个新帐户并登录。要更新您的 Unified 部署:
docker run 更新
Docker Compose 更新
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
1、停止正在运行的 Docker 容器:
docker compose down
2、运行以下命令来拉取最新的 Bitwarden Unified 镜像:
docker compose pull
3、重新创建任何需要更新的容器:
docker compose up -d
4、验证容器是否正在运行:
docker compose ps
默认情况下,Unified 部署可以在不具备一些列标准 Bitwarden 服务的情况下运行。这允许增加 Unified 部署的定制和优化。通过编辑各种环境变量来配置这些服务和更多可选设置。
变量 | 描述 |
---|---|
BW_PORT_HTTP | 更改用于 HTTP 流量的端口。默认为 8080 。 |
BW_PORT_HTTPS | 更改用于 HTTPS 流量的端口。默认为 8443 。 |
变量 | 描述 |
---|---|
BW_ENABLE_SSL | 使用 SSL/TLS。 true /false 。默认为 false 。 Bitwarden 需要 SSL 才能正常运行。如果您没有使用在 Bitwarden 容器中配置的 SSL,您应该在 Bitwarden 前面使用 SSL 代理。 |
BW_SSL_CERT | |
BW_SSL_KEY | |
BW_ENABLE_SSL_CA | 使用具有证书颁发机构 (CA) 支持服务 的 SSL。 true /false 。默认为 false 。 |
BW_SSL_CA_CERT | SSL CA 证书的名称。该文件必须位于容器内的 /etc/bitwarden 目录中。默认为 ca.crt 。 |
BW_ENABLE_SSL_DH | 使用具有Diffie-Hellman 密钥交换的 SSL。 true /false 。默认为 false 。 |
BW_SSL_DH_CERT | Diffie-Hellman 参数文件的名称。该文件必须位于容器内的 /etc/bitwarden 目录中。默认为 dh.pem 。 |
BW_SSL_PROTOCOLS | |
BW_SSL_CIPHERS |
通过更改以下值,可以针对特定用例(例如企业或团队需求)启用或禁用其他服务:
变量 | 描述 |
---|---|
BW_ENABLE_ADMIN | 不要禁用此服务。 |
BW_ENABLE_API | 不要禁用此服务。默认为 true 。 |
BW_ENABLE_EVENTS | 为团队和企业事件监控启用或禁用 Bitwarden 事件日志。默认为 false 。 |
BW_ENABLE_ICONS | |
BW_ENABLE_IDENTITY | 不要禁用此服务。默认为 true 。 |
BW_ENABLE_NOTIFICATIONS | 当使用设备登录、移动端密码库同步等时,启用或禁用用于接收移动设备推送通知的通知服务。默认为 true 。 |
BW_ENABLE_SCIM | 为企业组织启用或禁用 SCIM。默认为 false 。 |
BW_ENABLE_SSO | 为企业组织启用或禁用 SSO 服务。默认为 false 。 |
BW_ICONS_PROXY_TO_CLOUD | 启用此服务将代理图标服务请求以通过云服务进行操作,以降低系统内存负载。 如果选择使用此设置,则应将 BW_ENABLE_ICONS 设置为 false 以减少容器负载。默认为 false 。 |
BW_ENABLE_KEY_CONNECTOR | |
BW_KEY_CONNECTOR_INTERNAL_URL |
为您的 Unified 部署配置 SMTP 设置。将您选择的邮件 SMTP 提供商的信息复制到以下字段中:
变量 | 描述 |
---|---|
globalSettings__mail__replyToEmail | 输入服务器的回复电子邮件。 |
globalSettings__mail__smtp__host | 输入 SMTP 服务器的主机域名。 |
globalSettings__mail__smtp__port | 输入来自 SMTP 主机的端口号。 |
globalSettings__mail__smtp__ssl | 如果您的 SMTP 主机使用 SSL,请输入 true 。
如果您的主机使用 TLS 服务,请将值设置为 false 。 |
globalSettings__mail__smtp__username | 输入 SMTP 用户名。 |
globalSettings__mail__smtp__password | 输入 SMTP 密码。 |
变量 | 描述 |
---|---|
globalSettings_yubico_clientId | 替换从 Yubico Key 获取的 ID 值。 |
globalSettings_yubico_key | 输入从 Yubico 获取的密钥值。 |
要在更改环境变量后重新启动 Docker 容器,请从 Bitwarden Unified 部署目录运行以下命令:
docker run
Docker Compose
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
1、停止正在运行的 Docker 容器:
docker compose down
2、重新创建容器:
docker compose up -d
3、确保容器在正常运行:
docker compose ps
默认情况下,Bitwarden 容器消耗的内存,通常超过运行所需的最低内存。对于内存敏感的环境,您可以使用 docker
-m
或 --memory=
来限制 Bitwarden 容器的内存使用。名称,缩写 | 描述 |
---|---|
--memory=, -m |
要使用 Docker Compose 控制内存使用,请使用
mem_limit
键:services:
bitwarden:
env_file:
- settings.env
image: bitwarden/self-host:beta
restart: always
mem_limit: 200m
有关 Bitwarden 标准自托管部署的更多信息,请参阅:
最近更新 2mo ago