# 环境配置文件

环境配置文件用于在 Bitwarden 部署完成以后增减某些功能，如配置 SMTP、启用 Yubico、启用系统管理员门户、禁用用户注册等。

环境配置文件位置：`./bwdata/env/global.override.env` 。

其默认内容如下：

{% code title="global.override.env" %}

```systemd
globalSettings__baseServiceUri__vault=https://vault.yourdomain.com
globalSettings__baseServiceUri__api=https://vault.yourdomain.com/api
globalSettings__baseServiceUri__identity=https://vault.yourdomain.com/identity
globalSettings__baseServiceUri__admin=https://vault.yourdomain.com/admin
globalSettings__baseServiceUri__notifications=https://vault.yourdomain.com/notifications
globalSettings__baseServiceUri__sso=https://vault.yourdomain.com/sso
globalSettings__baseServiceUri__portal=https://vault.yourdomain.com/portal
globalSettings__sqlServer__connectionString="Data Source=tcp:mssql,1433;Initial Catalog=vault;Persist Security Info=False;User ID=sa;Password=xGKRrfeggznz5SEAFKAqYPmMNCujUNdK;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=True"
globalSettings__identityServer__certificatePassword=UYS4X3urhIikdexM58pNYJ6o535gOxg4
globalSettings__attachment__baseDirectory=/etc/bitwarden/core/attachments
globalSettings__attachment__baseUrl=https://vault.yourdomain.com/attachments
globalSettings__dataProtection__directory=/etc/bitwarden/core/aspnet-dataprotection
globalSettings__logDirectory=/etc/bitwarden/logs
globalSettings__logRollBySizeLimit=
globalSettings__syslog__destination=
globalSettings__licenseDirectory=/etc/bitwarden/core/licenses
globalSettings__internalIdentityKey=jpGTst16CGZL2BTjvzL5erR2XRTqsWrhBysa4tTomf6KtVXr8TF0hcxuACxVUpt5
globalSettings__oidcIdentityClientKey=nZu60QKCaOrpPjF9jxrOHnd07d1RrWXrHp5sxv8C7CL9IBu9w9bhI5s03E8qeyiX
globalSettings__duo__aKey=KeW4TH9jYSfmdWGd0c0nROS3TXJHIMdRzNZrw7bHqw0svhE6ePL9jWBiwRRHNc1w
globalSettings__installation__id=0e39beb9-5efe-4ebb-919d-ac3e00d7b1c1
globalSettings__installation__key=QNruWGv7N0n5UY18f4ay
globalSettings__yubico__clientId=REPLACE
globalSettings__yubico__key=REPLACE
globalSettings__mail__replyToEmail=no-reply@vault.yourdomain.com
globalSettings__mail__smtp__host=REPLACE
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__ssl=false
globalSettings__mail__smtp__username=REPLACE
globalSettings__mail__smtp__password=REPLACE
globalSettings__disableUserRegistration=false
globalSettings__hibpApiKey=REPLACE
adminSettings__admins=
```

{% endcode %}

由于**环境配置文件只有在 Bitwarden 容器启动时才会被读取**，因此，更改环境配置文件后，需要运行 **`restart`**（重启）命令以使更改生效：

```shell
./bitwarden.sh restart
```

{% hint style="warning" %}
注意环境配置文件中值为 `https://vault.yourdomain.com` 的所有变量，需要全部修改其值为实际的外部访问地址（包括端口），否则当有链接跳转时，会导致错误，例如验证电子邮件的跳转链接、管理员门户的跳转链接。假设外部访问地址为 `https://vault.yourdomain.com:28443`，则环境配置文件中值为 `https://vault.yourdomain.com` 的所有变量的值都要替换为 `https://vault.yourdomain.com:28443`。
{% endhint %}

## 已有变量 <a href="#included-variables" id="included-variables"></a>

以下变量在 `global.override.env` 中已经存在：

| 变量                                               | 描述                                                                                                                                                                           |
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| globalSettings\_\_sqlServer\_\_connectionString= | 使用此字段[连接到外部 MSSQL 数据库](https://help.ppgg.in/on-premises-hosting/connect-to-an-external-mssql-database)。                                                                      |
| globalSettings\_\_oidcIdentityClientKey=         | 随机生成的 OpenID Connect 客户端密钥。有关更多信息，请参阅 [OpenID 文档](https://openid.net/specs/openid-connect-registration-1_0.html#RegistrationResponse)。                                       |
| globalSettings\_\_duo\_\_aKey=                   | 随机生成的 Duo 密钥。有关更多信息，请参阅 [Duo 文档](https://duo.com/docs/duoweb#1.-generate-an-akey)。                                                                                           |
| globalSettings\_\_yubico\_\_clientId=            | YubiCloud 验证服务或自托管的 Yubico 验证服务器的客户端 ID。如果是 YubiCloud，请在[此处](https://upgrade.yubico.com/getapikey/)获取您的客户端 ID 和安全密钥。如果是自托管，请参阅可选变量 `globalSettings__yubico__validationUrls`。 |
| globalSettings\_\_yubico\_\_key=                 | YubiCloud 验证服务或自托管的 Yubico 验证服务器的安全密钥。如果是 YubiCloud，请在[此处](https://upgrade.yubico.com/getapikey/)获取您的客户端 ID 和安全密钥。如果是自托管，请参阅可选变量 `globalSettings__yubico__validationUrls`。   |
| globalSettings\_\_mail\_\_replyToEmail=          | 用于邀请的电子邮件地址，通常为 `no_reply@smpt__host`。                                                                                                                                       |
| globalSettings\_\_mail\_\_smtp\_\_host=          | SMTP 服务器的主机名（建议）或 IP 地址。                                                                                                                                                     |
| globalSettings\_\_mail\_\_smtp\_\_port=          | SMTP 服务器使用的 SMTP 端口。                                                                                                                                                         |
| globalSettings\_\_mail\_\_smtp\_\_ssl=           | <p>（布尔值）SMTP 服务器是否使用加密协议：<br><code>true</code> ：SSL<br><code>false</code> ：TLS</p>                                                                                           |
| globalSettings\_\_mail\_\_smtp\_\_username=      | `smtp__host` 的有效用户名。                                                                                                                                                         |
| globalSettings\_\_mail\_\_smtp\_\_password=      | `smtp__host` 的有效密码。                                                                                                                                                          |
| globalSettings\_\_disableUserRegistration=       | 指定为 `true` 将禁用新用户通过注册页面在此实例上注册账户。                                                                                                                                            |
| globalSettings\_\_hibpApiKey=                    | 您的 HaveIBeenPwned (HIBP) API 密钥，参阅[此处](https://haveibeenpwned.com/API/Key)。                                                                                                  |
| adminSettings\_\_admins=                         | 用于访问系统管理员门户的电子邮件地址。                                                                                                                                                          |

## 可选变量 <a href="#optional-variables" id="optional-variables"></a>

以下变量在 `global.override.env` 中尚不存在，但可以手动添加：

| 变量                                                   | 描述                                                                                                                                                                                                                                                                                                            |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| globalSettings\_\_logDirectory=                      | 指定日志文件的保存目录。默认为 `globalSettings__logDirectory=bwdata/logs`。                                                                                                                                                                                                                                                   |
| globalSettings\_\_logRollBySizeLimit=                | 开启滚动日志并指定滚动日志文件的大小限制，以字节为单位（例如开启并设置为 1 GB `globalSettings__logRollBySizeLimit=1073741824` ）。                                                                                                                                                                                                                  |
| globalSettings\_\_syslog\_\_destination=             | 指定要将日志文件发送到的 Syslog 服务器或端点（例如 `globalSettings__syslog__destination=udp://example.com:514`）。                                                                                                                                                                                                                   |
| globalSettings\_\_mail\_\_smtp\_\_trustServer=       | 指定为 `true` 将以显式信任 SMTP 服务器提供的证书（**不建议用于生产中**）。                                                                                                                                                                                                                                                                |
| globalSettings\_\_mail\_\_smtp\_\_sslOverride=       | 指定为 `true` 将在端口 25 上使用 SSL（而不是 TLS）。                                                                                                                                                                                                                                                                          |
| globalSettings\_\_mail\_\_smtp\_\_startTls=          | 指定为 `true` 将强制 STARTTLS（随机 TLS）。                                                                                                                                                                                                                                                                              |
| globalSettings\_\_organizationInviteExpirationHours= | 指定组织邀请到期的小时数。默认为 `120` 小时。                                                                                                                                                                                                                                                                                    |
| globalSettings\_\_yubico\_\_validationUrls\_\_0=     | <p>自托管 Yubico 验证服务器的主要地址。例如：<code>globalSettings\_\_yubico\_\_validationUrls\_\_0=<https://your.url.com/wsapi/2.0/verify></code></p><p></p><p>通过创建递增的环境变量来添加其他验证服务器 URL，例如：  <code>globalSettings\_\_yubico\_\_validationUrls\_\_1=</code>，<code>globalSettings\_\_yubico\_\_validationUrls\_\_2=</code>。</p> |
| adminSettings\_\_deleteTrashDaysAgo=                 | 指定多少天后从回收站永久删除项目。默认为 `30` 天。                                                                                                                                                                                                                                                                                  |
