# 配置

## 关于配置 <a href="#about-configuration" id="about-configuration"></a>

有三种配置方式：

1. 通过管理页面 `https://vault.yourdomain.com/admin` 配置
2. 通过直接修改管理配置文件 `config.json` 配置
3. 通过在启动 Vaultwarden 容器时指定环境变量配置

一般通过管理页面来对 Vaultwarden 进行配置，因为比较直观。

**注意：**

* 管理页面的设置会覆盖相应的环境变量值或 `config.json` 文件中的现有值
* 管理页面的只读部分只能通过环境变量来设置
* Vaultwarden 容器只有在启动的时候才会读取 `config.json` 配置文件，所以，直接修改 `config.json` 后，需要重启 Vaultwarden 容器才能使更改生效（重启命令：`docker restart vaultwarden`）

管理页面点击 `Save` 后会自动在 `vaultwarden-data` 下生成/更新 `config.json` 文件。**注意**：只有值不为空的设置项才会出现在 `config.json` 文件中。

{% hint style="info" %}
所有可设置的环境变量的列表：<https://github.com/dani-garcia/vaultwarden/blob/main/.env.template>
{% endhint %}

## 管理页面中各配置项说明 <a href="#configuration-options" id="configuration-options"></a>

{% hint style="warning" %}
**注意**：管理页面的设置会覆盖相应的环境变量值或 `config.json` 文件中的现有值。保存后，建议停止设置环境变量以免造成混淆。这不适用于只读部分，只读部分只能通过环境变量进行设置。
{% endhint %}

### General Settings

* **`Domain URL`**：如果与默认值不同，则需要将其设置为用于访问服务器的 URL，包含「http\[s]://」和端口号。如果没有这个值，某些服务器功能（如附件下载、电子邮件链接和 U2F 等）将无法正常工作。示例：`https://vault.yourdomain.com:28443`
* **`Allow Sends`**：控制是否允许用户创建 Bitwarden Send。此设置全局适用于所有用户。要对单个组织进行控制，请使用「禁用 Send」组织策略。默认值：`true`
* **`HIBP Api Key`**：[HaveIBeenPwned](https://en.wikipedia.org/wiki/Have_I_Been_Pwned%3F) API 密钥。在[此处](https://haveibeenpwned.com/API/Key)申请（收费服务）。无 HIBP 的话，密码库报告中的「数据泄露报告」无法使用
* **`Per-user attachment limit (KB)`**：对每个用户的附件存储空间限制在 xx KB 以内，达到限制后无法上传更多附件
* **`Per-organization attachment limit (KB)`**：对每个组织的附件存储空间限制在 xx KB 以内，达到限制后无法上传更多附件
* **`Per-user send storage limit (KB)`**：对每个用户的 Send 存储空间限制在 xx KB 以内，达到限制后无法上传更多 Send
* **`Trash auto-delete days`**：在自动删除一个废弃项目之前等待的天数。如果不设置，废弃的项目就不会被自动删除。这是一个全局设置，所以请确保将这个设置的任何更改告知所有用户
* **`Incomplete 2FA time limit`**：在启用了 2FA 的登录被认为不完整之前等待的分钟数，从而导致电子邮件通知。不完整的 2FA 登录是指提供了正确的主密码但未完成所需的 2FA 步骤，这可能表明主密码已泄露。设置为 `0` 以禁用此检查。此设置全局适用于所有用户。默认值：`3`
* **`Disable icon downloads`**：设置为 `true` 将禁用图标下载，这将仍然为 `$ICON_CACHE_FOLDER` 提供图标服务，但不会产生任何外部网络请求。需要将 `$ICON_CACHE_TTL` 设置为 `0`，否则最终会删除图标，并且不会被再次下载。默认值：`false`
* **`Allow new signups`**：控制新用户是否可以注册。即使此功能被禁用，用户仍可以被 Vaultwarden 管理员邀请。默认值：`true`
* **`Require email verification on signups. This will prevent logins from succeeding until the address has been verified`**：注册时要求验证电子邮箱。未验证前将无法成功登录。默认值：`false`
* **`If signups require email verification, automatically re-send verification email if it hasn't been sent for a while (in seconds)`**：如果设置了注册时验证电子邮箱，设置自动重新发送验证电子邮件的时间间隔（单位秒）。默认值：`3600`
* **`If signups require email verification, limit how many emails are automatically sent when login is attempted (0 means no limit)`**：如果设置了注册时验证电子邮箱，限制尝试登录时自动发送电子邮件的次数（`0` 表示无限制）。默认值：`6`
* **`Email domain whitelist`**：限制只能某些域名的电子邮箱可以注册，以英文逗号分隔。将忽略 `SIGNUPS_ALLOWED=false`。示例：`example.com,example.net`
* **`Org creation users`**：可以创建新组织的用户电子邮箱列表，以英文逗号分隔。值为空或 `all` 表示所有用户均可以创建组织；`none` 表示所有用户均不可以
* **`Allow invitations`**：控制组织管理员是否可以邀请用户，将忽略 `SIGNUPS_ALLOWED=false`。默认值：`true`
* **`Enable emergency access`**：控制用户是否可以启用对其账户的紧急访问。此设置全局适用于所有用户。默认值：`true`
* **`Allow email change`**：控制用户是否可以更改电子邮箱。此设置适用于所有用户。默认值：`true`
* **`Password iterations`**：服务器端密码散列迭代次数，新用户或当前用户更改密码时才会应用此设置。太高降低性能，太低主密码易被暴力破解，不建议低于 `100000`。默认值：`100000`
* **`Allow password hints`**：控制用户是否可以设置密码提示。此设置全局适用于所有用户。默认值：`true`
* **`Show password hints (Know the risks!)`**：如果未配置 SMTP 服务且允许密码提示，则控制是否在网页中直接显示密码提示。不建议用于可公开访问的实例，因为这会提供对潜在敏感数据的未经身份验证的访问。默认值：`false`
* **`Admin token/Argon2 PHC`**：定义用于登录管理页面的纯文本 Token 或 Argon2 PHC 字符串并启用管理页面。在这里更改它不会取消当前会话授权。这里的值可以被在启动 Vaultwarden 容器时指定的环境变量值覆盖
* **`Invitation organization name`**：定义非来自特定组织的邀请电子邮件中显示的名称。示例：`Vaultwarden`

### Advanced Settings

* **`Client IP header`**：客户端 IP 标头，用于标识客户端的 IP。如果为空，则使用远程 IP，设置为 `none` 将禁用任何标头及仅使用远程 IP。默认值：`X-Client-IP`
* **`Icon redirect code`**：重定向到外部图标服务的 HTTP 状态代码。支持的代码有 `301`（传统永久）、`302`（传统临时）、`307`（临时）和 `308`（永久）。临时重定向在测试不同的图标服务时很有用，但一旦确定了一个服务，就应考虑使用永久重定向以利于缓存。目前 Bitwarden 客户端对传统代码的支持更好。
* **`Positive icon cache expiry`**：已成功缓存的图标重新下载的间隔时间（单位秒），此时间后图标将被重新下载。`0` 表示不重新下载。默认值：`2592000`
* **`Negative icon cache expiry`**：未成功缓存的图标重新下载的间隔时间（单位秒），此间隔后图标将重新尝试下载。`0` 表示不重新下载。默认值：`259200`
* **`Icon download timeout`**：下载图标时的超时时间（单位秒）。默认值：`10`
* **`Block HTTP domains/IPs by Regex`**：任何匹配此正则表达式的域名和 IP 的图标将不会被内部 HTTP 客户端获取。用于隐藏本地网络中的其他服务器。查看 wiki 了解更多详细信息
* **`Block non globle IPs`**：启用后，内部 HTTP 客户端将拒绝连接任何非全局 IP 地址。这对确保内部环境安全非常有用。有关它将阻止的 IP 列表，请参阅 [Wiki](https://zh.wikipedia.org/wiki/%E4%BF%9D%E7%95%99IP%E5%9C%B0%E5%9D%80)。默认值：`true`
* **`Disable Two-Factor remember`**：禁用它将强制用户每次登录时使用二次验证。注意复选框虽存在但会被忽略。默认值：`false`
* **`Disable authenticator time drifted codes to be valid`**：禁用验证器时间漂移。启用此功能后，仅当前 TOTP 码有效，否则当前 TOTP 以及前 30 秒和后 30 秒的 TOTP 均有效。默认值：`false`
* **`Require new device emails`**：用户登录时，需要发送电子邮件。如果发送电子邮件失败，登录也将失败。默认值：`false`
* **`Reload templates (Dev)`**：将此设置为 `true` 时，每个请求都会重新加载模板。这会降低服务器速度，仅在开发过程中使用它。默认值：`false`
* **`Log timestamp format`**：日志的时间戳格式，参考[日期和时间语法格式](https://docs.rs/chrono/latest/chrono/format/strftime)。默认值：`%Y-%m-%d %H:%M:%S.%3f`
* *（已改为放入* [*Read-Only Config*](#read-only-config) *中）*~~**`Bypass admin page security (Know the risks!)`**：禁用管理页面的管理令牌，以便您可以在前端使用自己的认证方式。默认值：`false`~~
* **`Allowed iframe ancestors (Know the risks!)`**：允许将网页密码库嵌入到 iframe 中的域名列表，这对于嵌入到安全的内部网络中时有用
* **`Allowed connect-src (Know the risks!)`**：允许使用脚本界面（如转发电子邮箱别名功能）加载其他域名的 URL
* **`Admin session lifetime`**：设置管理员会话的生命周期值（单位分钟）
* **`Increase note size limit (Know the risks!)`**：将安全备注大小限制设置为 100\_000，而不是默认的 10\_000。警告：这可能会导致客户端出现问题。此外，导出将无法在 Bitwarden 服务器上运行！默认值：`false`

### Yubikey Settings

* **`Enabled`**：启用 Yubikey。默认值：`true`
* **`Client ID`**：在[此处](https://upgrade.yubico.com/getapikey/)申请的您的 `YUBICO_CLIENT_ID`
* **`Secret Key`**：在[此处](https://upgrade.yubico.com/getapikey/)申请的您的 `YUBICO_SECRET_KEY`
* **`Server`**：自定义 OTP 服务器地址。值为空表示使用默认的 YubiCloud 服务器地址

### Global Duo Settings

{% hint style="warning" %}
注意：用户可以覆盖这部分的设置
{% endhint %}

* **`Enabled`**：启用 Duo。默认值：`false`
* **`Client Id`**：[Duo 管理面板](https://admin.duosecurity.com/login)生成的 `Integration Key`
* **`Client Secret`**：[Duo 管理面板](https://admin.duosecurity.com/login)生成的 `Secret Key`
* **`Host`**：[Duo 管理面板](https://admin.duosecurity.com/login)生成的 `API hostname`

### SMTP Email Seiings

{% hint style="info" %}
**注意**：v1.25.0 版本之前的 Vaultwarden 有一个关于 SSL 和 TLS 的漏洞/错误标记的配置设置项。这已在后续测试版和新发布的版本中得到修复。

旧配置项是 `SMTP_SSL` 和 `SMTP_EXPLICIT_TLS`。

新配置项是 `SMTP_SECURITY`，它具有以下选项：`starttls`、`force_tls` 和 `off`。

* `SMTP_SECURITY=starttls` 等同于 `SMTP_SSL=true`

* `SMTP_SECURITY=force_tls` 等同于 `SMTP_EXPLICIT_TLS=true`
  {% endhint %}

* **`Enabled`**：启用 SMTP。默认值：`true`

* **`Use Sendmail`**：是否通过 sendmail 命令发送邮件。默认值：`false`

* **`Sendmail Command`**：使用哪个 sendmail 命令。如果未指定，则使用在 $PATH 中找到的那个

* **`Host`**：SMTP 服务器地址

* *（v1.25.0 及之后版本已移除）*~~**`Enable Secure SMTP`**：（显式）启用此功能后，将默认使用 STARTTLS（一般为 587 或 25 端口）。默认值：`true`~~

* *（v1.25.0 及之后版本已移除）*~~**`Force TLS`**：（隐式）启用此功能将强制使用 SSL/TLS 连接（一般为 465 端口），而不是使用 STARTTLS 升级的不安全的连接。`Enable Secure SMTP` 必须设置为 `true`，此设置才能起作用。默认值：`false`~~

* **`Secure SMTP`**：启用安全连接。可用的值：`starttls`（显式 - 端口 587 或 25）、`force_tls`（隐式 - 端口 465）、`off` 不加密。默认值： `starttls`

* **`Port`**：SMTP 服务器端口。默认值：`587`

* **`From Address`**：发件人地址

* **`From Name`**：发件人名称。默认值：`Vaultwarden`

* **`Username`**：用户名

* **`Password`**：密码

* **`SMTP Auth mechanism`**：对于 SSL，默认值应为 `Plain` 或 `Login`；对于非 SSL，默认值应为空。可用的值：`Plain`、`Login`、`Xoauth2`。使用多个选项时需要用英文逗号「`,`」分隔

* **`SMTP connection timeout`**：SMTP 连接超时时间（单位秒）。默认值：`15`

* **`Server name sent during HELO`**：默认情况下，此值是机器的主机名，但可能需要更改以防触发某些反垃圾邮件过滤器

* *（已改为放入* [*Read-Only Config*](#read-only-config) *中）*~~**`Enable SMTP debugging (Know the risks!)`**：危险：启用此功能会输出非常详细的 SMTP 信息。这可能包含敏感信息，如密码和用户名！仅在排除故障时才启用此功能。默认值：`false`~~

* **`Embed images as email attachments`**：默认值：`true`

* **`Accept Invalid Certs (Know the risks!)`**：危险：允许无效证书。这个选项会带来严重的漏洞，导致中间人攻击！仅当您无法使用有效证书时才将此作为最后的手段。如果证书有效但主机名不匹配，请改用 `SMTP_ACCEPT_INVALID_HOSTNAMES`（即下面的 `Accept Invalid Hostnames (Know the risks!)`）。默认值：`false`

* **`Accept Invalid Hostnames (Know the risks!)`**：危险：允许无效的主机名。这个选项会带来严重的漏洞，导致中间人攻击！仅当您无法使用有效证书时才将此作为最后的手段。默认值：`false`

* **`Test SMTP`**：根据以上的设置，发送测试邮件到指定的电子邮件地址，测试 SMTP 功能

### Email 2FA Settings

* **`Enabled`**：禁用将阻止用户设置新的电子邮件 2FA 以及使用已配置的电子邮件 2FA。默认值：`false`
* **`Email token size`**：电子邮件 Token 的位数（最小 `6`，最大 `19`）。请注意，无论这里设置为多少，Bitwarden 客户端都将其硬编码为 6 位数。默认值：`6`
* **`Token expiration time`**：Token 的最大有效时间（单位秒）。用户必须在此时间内打开电子邮件客户端并复制 Token。默认值：`600`
* **`Maximum attempts`**：重置电子邮件 Token 并发送新邮件之前的最大尝试次数。默认值：`3`
* **`Setup email 2FA at signup`**：设置为电子邮件 2FA 提供程序，而不考虑任何组织策略。默认值：`false`
* **`Auto-enable 2FA (Know the risks!)`**：在需要时自动将电子邮件 2FA 设置为备用提供程序。默认值：`false`

### Read-Only Config

{% hint style="warning" %}
注意：这些选项无法在编辑器（以及管理页面）中修改，因为它们需要重新启动服务器。要修改它们，需要在启动服务器时设置正确的环境变量。您可以在每个选项的工具提示中检查变量名称。
{% endhint %}

* **`Data folder`**：主数据文件夹。默认值：`data`
* **`Database URL`**：数据库 URL。默认值：`data/db.sqlite3`
* **`Icon cache folder`**：图标缓存文件夹。默认值：`data/icon_cache`
* **`Attachments folder`**：附件文件夹。默认值：`data/attachments`
* **`Sends folder`**：Send 文件夹。默认值：`data/sends`
* **`Temp folder`**：用于存储临时上传的文件。默认值：`data/tmp`
* **`Templates folder`**：模板数据文件夹，默认情况下使用嵌入式模板。默认值：`data/templates`
* **`Session JWT key`**：会话 [JWT](https://juejin.im/post/6844904034181070861#heading-10) 密钥。默认值：`data/rsa_key`
* **`Web vault folder`**：网页密码库文件夹。默认值：`web-vault/`
* **`Enable websocket notifications`**：启用 Websocket 通知。默认值：`false`
* *（v1.31.0 版本已移除）*~~**`Websocket address`**：Websocket 服务器地址。默认值：`0.0.0.0`~~
* *（v1.31.0 版本已移除）*~~**`Websocket port`**：Websocket 服务器端口。默认值：`3012`~~
* **`Enable push notifications`**：启用推送通知。默认值：`false`
* **`Push relay uri`**：推送中继的 URI。默认值：`https://push.bitwarden.com`
* **`Push identity uri`**：推送身份验证的 URI。默认值：`https://identity.bitwarden.com`
* **`Installation id`**：来自 <https://bitwarden.com/host> 的安装 ID
* **`Installation key`**：来自 <https://bitwarden.com/host> 的安装密钥
* **`Job scheduler poll interval`**：作业调度线程检查运行的频率。如果设置为 `0`，则全局禁止调度作业。默认值：`30000`
* **`Send purge schedule`**：检查是否有 Send 超过其删除日期的作业的 Cron 时间表。默认为每小时（第 5 分钟）。设置为空则禁用此作业。默认值：`0 5 * * * *`
* **`Trash purge schedule`**：检查要永久删除的废弃项目的作业的 Cron 时间表。默认为每天（午夜后的第 5 分钟）。设置为空则禁用此作业。默认值：`0 5 0 * * *`
* **`Incomplete 2FA login schedule`**：检查未完成 2FA 登录的作业的 Cron 时间表。默认为每分钟（第 30 秒）。设置为空则禁用此作业。默认值：`30 * * * *`
* **`Emergency notification reminder schedule`**：向紧急访问的授予人发送过期提醒作业的 Cron 时间表。默认为每小时（第 5 分钟）。设置为空则禁用此作业。默认值：`0 5 * * * *`
* **`Emergency request timeout schedule`**：授予已达到规定等待时间的紧急访问请求作业的 Cron 时间表。默认为每小时（第 5 分钟）。设置为空则禁用此作业。默认值：`0 5 * * * *`
* **`Event cleanup schedule`**：从事件表中清除旧事件的作业的 Cron 时间表。默认为每天（午夜后的第 10 分钟）。设置为空则禁用此作业。默认值：`0 10 0 * * *`
* **`Auth Request cleanup schedule`**：从验证请求中清除旧的验证请求的作业的 Cron 时间表。默认为每分钟（第 30 秒）。设置为空则禁用此作业。默认值：`30 * * * * *`
* **`Duo Auth context cleanup schedule`**：从数据库中清除过期 Duo 上下文的作业的 Cron 时间表。如果禁用了 Duo MFA 或将其设置为使用传统的 iframe 提示，则不会执行任何操作。默认为每分钟（第 30 秒）。设置为空则禁用此作业。默认值：`30 * * * * *`
* **`Domain Set`**：表示域名是否由管理员设置，否则将使用默认值。默认值：`false`
* **`Domain origin`**：域名 URL 源。例如 `https://vault.yourdomain.com:8443/admin`，其 Domian origin 是 `https://vault.yourdomain.com:8443`
* **`Domain path`**：域名 URL 路径。例如 `https://vault.yourdomain.com:8443/admin`，其 Domian path 是 `/admin`
* **`Enable web vault`**：启用网页密码库。默认值：`true`
* **`Enable event logging`**：为组织启用事件日志。默认值：`false`
* **`Invitation token expiration time (in hours)`**：组织邀请令牌、紧急访问邀请令牌、电子邮件验证令牌和删除请求令牌的失效小时数（必须至少为 `1`。单位小时）。默认值：`120`
* **`Events days retain`**：保存在数据库中的事件的天数。如果不设置，事件将无限期保留
* **`Internal IP header property, used to avoid recomputing each time`**：内部 IP 标头属性，用于避免每次重新计算。默认值：`true`
* **`Icon service`**：预定义的图标服务，选项包括：`internal`、`bitwarden`、`duckduckgo`、`google`。要指定自定义图标服务，请设置一个带有 `{}` 实例的 URL 模板，使用域名替换。例如：`https://icon.example.com/domain/{}`。 `internal` 指的是 Vaultwarden 的内置图标获取实现。如果设置了一个外部服务，则对 Vaultwarden 的图标请求将返回 HTTP 重定向到外部服务上的相应图标。默认值：`internal`
* **`_icon_service_url`**：图标服务 URL
* **`_icon_service_csp`**：图标服务 CSP
* **`[Deprecated] Icon blacklist Regex`**：改为使用 `http_request_block_regex`
* **`[Deprecated] Icon blacklist non global IPs`**：改为使用 `http_request_block_non_global_ips`
* **`Customize the enabled feature flags on the clients`**：这是一个要启用的以英文逗号分隔的功能标志列表。默认值：`fido2-vault-credentials`
* **`Enable extended logging`**：启用扩展日志记录，这将在日志中显示时间戳和目标。默认值：`true`
* **`Enable the log to output to Syslog`**：启用记录到 [Syslog](https://zh.wikipedia.org/wiki/Syslog)。默认值：`false`
* **`Log file path`**：日志记录文件的路径。默认值：`/data/vaultwarden.log`
* **`Log level`**：日志记录的级别。可用的值：`trace`、`tebug`、`info`、`warn`、`error` 以及 `off`。为了减少日志数量，可以将级别设置为 `warn` 或 `error`。默认值：`info`。
* **`Enable DB WAL`**：启用数据库 WAL。关闭这个设置可能会导致性能变差，但如果在一些不支持 WAL 的外来文件系统上使用 Vaultwarden，可能会有帮助。在改变这个设置之前，请参阅[项目 Wiki](https://rs.ppgg.in/configuration/database/running-without-wal-enabled)。默认值：`true`
* **`Max database connection retries`**：在启动过程中重试数据库连接的次数，每次重试的间隔时间为 1 秒，设置为 `0` 表示无限制重试。默认值：`15`
* **`Timeout when aquiring database connection`**：获取数据库连接时超时时间。默认值：`30`
* **`Database connection pool size`**：用于连接数据库的连接池的大小。默认值：`10`
* **`Database connection init`**：创建新数据库连接时运行的 SQL 语句，主要对连接范围内的 pragmas 有用。如果为空，则使用数据库指定的默认值。默认值：空
* **`Bypass admin page security (Know the risks!)`**：禁用管理页面的管理令牌，以便您可以在前端使用自己的验证方式。默认值：`false`
* **`Seconds between login requests`**：在启动速率限制之前，来自同一 IP 地址的登录和 2FA 请求之间的平均秒数。默认值：`60`
* **`Max burst size for login requests`**：在保持 `login_ratelimit_seconds` 指示的平均值的情况下，允许最多此大小的突发请求。注意，这同时适用于登录和 2FA，所以建议至少允许 2 个突发请求。默认值：`10`
* **`Seconds between admin requests`**：在启动速率限制之前，来自同一 IP 地址的管理请求之间的平均秒数。默认值：`300`
* **`Max burst size for admin requests`**：在保持 `admin_ratelimit_seconds` 指示的平均值的情况下，允许最多此大小的突发请求。默认值：`3`
* **`Enable groups (BETA!) (Know the risks!)`**：为组织启用群组支持（目前存在已知问题！）。默认值：`false`
* **`Generated max_note_size value to prevent if..else matching during every check`**：生成的最大备注大小值，以防止每次检查时都出现 if...else 匹配问题。默认值：`10000`
* **`Enforce Single Org with Reset Password Policy`**：在设置重置密码策略（Bitwarden 默认执行此策略）之前强制启用单一组织策略。我们鼓励使用多个组织，因为在 Vaultwarden 中群组不可用。将此设置为 `true` 将在启用重置密码策略之前强制启用单一组织策略。默认值：`false`
* **`Attempt to use deprecated iframe-based Traditional Prompt (Duo WebSDK 2)`**：尝试使用过时的基于 iframe 的传统提示（Duo WebSDK 2）**。**&#x9ED8;认值：`false`
* **`Application Key (generated automatically)`**：Duo 相关的密钥，（启用 Duo 后）由系统自动生成
* **`Sendmail Command`**：要使用的 Sendmail 命令。如果未指定，则使用在 $PATH 中找到的
* **`DEPRECATED smtp_ssl`**：请使用 `SMTP_SECURITY`
* **`DEPRECATED smtp_explicit_tls`**：请使用 `SMTP_SECURITY`
* **`_smtp_img_src`**：默认值：`cid:`
* **`Enable SMTP debugging (Know the risks!)`**：启用该选项将输出非常详细的 SMTP 信息。其可能包含敏感信息，如密码和用户名！仅在需要排除故障时才启用此功能！默认值：`false`

### Backup Database

{% hint style="warning" %}
**警告：**&#x6B64;功能仅创建 SQLite 数据库的备份副本。这不包括完全恢复 Vaultwarden 实例可能需要的任何配置或文件附件数据。有关如何执行完整备份的详细信息，请参阅[备份](https://rs.ppgg.in/other-information/backing-up-your-vault) wiki 页面。
{% endhint %}

## 管理页面可读写配置项与环境变量名称的对应 <a href="#configuration-options-corresponding-to-variable" id="configuration-options-corresponding-to-variable"></a>

<table><thead><tr><th width="203.80980706304">管理页面可读写配置项</th><th width="204.07124226928534">对应的环境变量（或 config.json 中字段）</th><th>默认值</th></tr></thead><tbody><tr><td><strong>General Settings</strong></td><td></td><td></td></tr><tr><td>Domain URL</td><td>[domain]</td><td></td></tr><tr><td>Allow Sends</td><td>[sends_allowed]</td><td>true</td></tr><tr><td>HIBP Api Key</td><td>[hibp_api_key]</td><td></td></tr><tr><td>Per-user attachment limit (KB)</td><td>[user_attachment_limit]</td><td></td></tr><tr><td>Per-organization attachment limit (KB)</td><td>[org_attachment_limit]</td><td></td></tr><tr><td>Per-user send storage limit (KB)</td><td>[user_send_limit]</td><td></td></tr><tr><td>Trash auto-delete days</td><td>[trash_auto_delete_days]</td><td></td></tr><tr><td>Incomplete 2FA time limit</td><td>[incomplete_2fa_time_limit]</td><td>3</td></tr><tr><td>Disable icon downloads</td><td>[disable_icon_download]</td><td>false</td></tr><tr><td>Allow new signups</td><td>[signups_allowed]</td><td>true</td></tr><tr><td>Require email verification on signups. This will prevent logins from succeeding until the address has been verified</td><td>[signups_verify]</td><td>false</td></tr><tr><td>If signups require email verification, automatically re-send verification email if it hasn't been sent for a while (in seconds)</td><td>[signups_verify_resend_time]</td><td>3600</td></tr><tr><td>If signups require email verification, limit how many emails are automatically sent when login is attempted (0 means no limit)</td><td>[signups_verify_resend_limit]</td><td>6</td></tr><tr><td>Email domain whitelist</td><td>[signups_domains_whitelist]</td><td></td></tr><tr><td>Org creation users</td><td>[org_creation_users]</td><td></td></tr><tr><td>Allow invitations</td><td>[invitations_allowed]</td><td>true</td></tr><tr><td>Eable emergency access</td><td>[emergency_access_allowed]</td><td>true</td></tr><tr><td>Allow email change</td><td>[email_change_allowed]</td><td>true</td></tr><tr><td>Password iterations</td><td>[password_iterations]</td><td>100000</td></tr><tr><td>Allow password hints</td><td>[password_hints_allowed]</td><td>true</td></tr><tr><td>Show password hint (Know the risks!)</td><td>[show_password_hint]</td><td>false</td></tr><tr><td>Admin token/Argon2 PHC</td><td>[admin_token]</td><td></td></tr><tr><td>Invitation organization name</td><td>[invitation_org_name]</td><td>Vaultwarden</td></tr><tr><td><strong>Advanced Setings</strong></td><td></td><td></td></tr><tr><td>Client IP header</td><td>[ip_header]</td><td>X-Real-IP</td></tr><tr><td>Icon redirect code</td><td>[icon_redirect_code]</td><td>302</td></tr><tr><td>Positive icon cache expiry</td><td>[icon_cache_ttl]</td><td>2592000</td></tr><tr><td>Negative icon cache expiry</td><td>[icon_cache_negttl]</td><td>259200</td></tr><tr><td>Icon download timeout</td><td>[icon_download_timeout]</td><td>10</td></tr><tr><td>Block HTTP domains/IPs by Regex</td><td>[http_request_block_regex]</td><td></td></tr><tr><td>Block non global IPs</td><td>[http_request_block_non_global_ips]</td><td>true</td></tr><tr><td>Disable Two-Factor remember</td><td>[disable_2fa_remember]</td><td>false</td></tr><tr><td>Disable authenticator time drifted codes to be valid</td><td>[authenticator_disable_time_drift]</td><td>false</td></tr><tr><td>Require new device emails</td><td>[require_device_email]</td><td>false</td></tr><tr><td>Reload templates (Dev)</td><td>[reload_templates]</td><td>false</td></tr><tr><td>Log timestamp format</td><td>[log_timestamp_format]</td><td>%Y-%m-%d %H:%M:%S.%3f</td></tr><tr><td><del>Bypass admin page security (Know the risks!)</del></td><td><del>[disable_admin_token]</del></td><td><del>false</del></td></tr><tr><td>Allowed iframe ancestors (Know the risks!)</td><td>[allowed_iframe_ancestors]</td><td></td></tr><tr><td>Allowed connect-src (Know the risks!)</td><td>[allowed_connect_src ]</td><td></td></tr><tr><td>Admin session lifetime</td><td>[admin_session_lifetime]</td><td></td></tr><tr><td>Increase note size limit (Know the risks!)</td><td>[increase_note_size_limit]</td><td>false</td></tr><tr><td><strong>Yubikey Seetings</strong></td><td></td><td></td></tr><tr><td>Enabled</td><td>[_enable_yubico]</td><td>true</td></tr><tr><td>Client ID</td><td>[yubico_client_id]</td><td></td></tr><tr><td>Secret Key</td><td>[yubico_secret_key]</td><td></td></tr><tr><td>Server</td><td>[yubico_server]</td><td></td></tr><tr><td><strong>Global Duo Settings</strong></td><td></td><td></td></tr><tr><td>Enabled</td><td>[_enable_duo]</td><td>false</td></tr><tr><td>Client Id</td><td>[duo_ikey]</td><td></td></tr><tr><td>Client Secret</td><td>[duo_skey]</td><td></td></tr><tr><td>Host</td><td>[duo_host]</td><td></td></tr><tr><td><strong>SMTP Email Settings</strong></td><td></td><td></td></tr><tr><td>Enabled</td><td>[_enable_smtp]</td><td>true</td></tr><tr><td>Use Sendmail</td><td>[use_sendmail]</td><td>false</td></tr><tr><td>Sendmail Command</td><td>[sendmail_command]</td><td></td></tr><tr><td>Host</td><td>[smtp_host]</td><td></td></tr><tr><td><del>Enable Secure SMTP</del></td><td><del>[smtp_ssl]</del></td><td><del>true</del></td></tr><tr><td><del>Force TL</del>S</td><td><del>[smtp_explicit_tls]</del></td><td><del>false</del></td></tr><tr><td>Secure SMTP</td><td>[smtp_security]</td><td>starttls</td></tr><tr><td>Port</td><td>[smtp_port]</td><td>587</td></tr><tr><td>From Address</td><td>[smtp_from]</td><td></td></tr><tr><td>From Name</td><td>[smtp_from_name]</td><td>Vaultwarden</td></tr><tr><td>Username</td><td>[smtp_username]</td><td></td></tr><tr><td>Password</td><td>[smtp_password]</td><td></td></tr><tr><td>SMTP Auth mechanism</td><td>[smtp_auth_mechanism]</td><td></td></tr><tr><td>SMTP connection timeout</td><td>[smtp_timeout]</td><td>15</td></tr><tr><td>Server name sent during HELO</td><td>[helo_name]</td><td></td></tr><tr><td><del>Enable SMTP debugging (Know the risks!)</del></td><td><del>[smtp_d</del>e<del>bug]</del></td><td><del>false</del></td></tr><tr><td>Embed images as email attachments</td><td>[smtp_embed_images]</td><td>ture</td></tr><tr><td>Accept Invalid Certs (Know the risks!)</td><td>[smtp_accept_invalid_certs]</td><td>false</td></tr><tr><td>Accept Invalid Hostnames (Know the risks!)</td><td>[smtp_accept_invalid_hostnames]</td><td>false</td></tr><tr><td>Test SMTP</td><td>-</td><td></td></tr><tr><td><strong>Email 2FA Settings</strong></td><td></td><td></td></tr><tr><td>Enabled</td><td>[_enable_email_2fa]</td><td>false</td></tr><tr><td>Email token size</td><td>[email_token_size]</td><td>6</td></tr><tr><td>Token expiration time</td><td>[email_expiration_time]</td><td>600</td></tr><tr><td>Maximum attempts</td><td>[email_attempts_limit]</td><td>3</td></tr><tr><td>Setup email 2FA at signup</td><td>[email_2fa_enforce_on_verified_invite]</td><td>false</td></tr><tr><td>Auto-enable 2FA (Know the risks!)</td><td>[email_2fa_auto_fallback]</td><td>false</td></tr></tbody></table>

## 管理页面只读配置项与环境变量名称的对应 <a href="#read-only-configuration-options-corresponding-to-variable" id="read-only-configuration-options-corresponding-to-variable"></a>

\[**备注**]：管理页面的只读部分配置项只能通过环境变量进行设置。

| 管理页面只读配置项                                                                       | 对应的环境变量（或 config.json 中字段）                       | 默认值                              |
| ------------------------------------------------------------------------------- | ------------------------------------------------ | -------------------------------- |
| Data folder                                                                     | \[data\_folder]                                  | data                             |
| Database URL                                                                    | \[database\_url]                                 | data/db.sqlite3                  |
| Icon cache folder                                                               | \[icon\_cache\_folder]                           | data/icon\_cache                 |
| Attachments folder                                                              | \[attachments\_folder]                           | data/attachments                 |
| Sends folder                                                                    | \[sends\_folder]                                 | data/sends                       |
| Temp folder                                                                     | \[tmp\_folder]                                   | data/tmp                         |
| Templates folder                                                                | \[templates\_folder]                             | data/templates                   |
| Session JWT key                                                                 | \[rsa\_key\_filename]                            | data/rsa\_key                    |
| Web vault folder                                                                | \[web\_vault\_folder]                            | web-vault/                       |
| Enable websocket notifications                                                  | \[enable\_websocket]                             | false                            |
| ~~Websocket address~~                                                           | ~~\[websocket\_address]~~                        | ~~0.0.0.0~~                      |
| ~~Websocket port~~                                                              | ~~\[websocket\_port]~~                           | ~~3012~~                         |
| Enable push notifications                                                       | \[push\_enabled]                                 |                                  |
| Push relay uri                                                                  | \[push\_relay\_uri]                              | <https://push.bitwarden.com>     |
| Push identity uri                                                               | \[push\_identity\_uri]                           | <https://identity.bitwarden.com> |
| Installation id                                                                 | \[push\_installation\_id]                        |                                  |
| Installation key                                                                | \[push\_installation\_key]                       |                                  |
| Job scheduler poll interval                                                     | \[job\_poll\_interval\_ms]                       | 30000                            |
| Send purge schedule                                                             | \[send\_purge\_schedule]                         | 0 5 \* \* \* \*                  |
| Trash purge schedule                                                            | \[trash\_purge\_schedule]                        | 0 5 0 \* \* \*                   |
| Incomplete 2FA login schedule                                                   | \[incomplete\_2fa\_schedule]                     | 30 \* \* \* \* \*                |
| Emergency notification reminder schedule                                        | \[emergency\_notification\_reminder\_schedule]   | 0 5 \* \* \* \*                  |
| Emergency request timeout schedule                                              | \[emergency\_request\_timeout\_schedule]         | 0 5 \* \* \* \*                  |
| Event cleanup schedule                                                          | \[event\_cleanup\_schedule]                      | 0 10 0 \* \* \*                  |
| Auth Request cleanup schedule                                                   | \[auth\_request\_purge\_schedule]                | 30 \* \* \* \* \*                |
| Duo Auth context cleanup schedule                                               | \[duo\_context\_purge\_schedule]                 | 30 \* \* \* \* \*                |
| Domain Set                                                                      | \[domain\_set]                                   | false                            |
| Domain origin                                                                   | \[domain\_origin]                                |                                  |
| Domain path                                                                     | \[domain\_path]                                  |                                  |
| Enable web vault                                                                | \[web\_vault\_enabled]                           | true                             |
| Enable event logging                                                            | \[org\_events\_enabled]                          | false                            |
| Invitation token expiration time (in hours)                                     | \[invitation\_expiration\_hours]                 | 120                              |
| Events days retain                                                              | \[events\_days\_retain]                          |                                  |
| Internal IP header property, used to avoid recomputing each time                | \[\_ip\_header\_enabled]                         | true                             |
| Icon service                                                                    | \[icon\_service]                                 | internal                         |
| \_icon\_service\_url                                                            | \[\_icon\_service\_url]                          |                                  |
| \_icon\_service\_csp                                                            | \[\_icon\_service\_csp]                          |                                  |
| \[Deprecated] Icon blacklist Regex                                              | \[icon\_blacklist\_egex]                         |                                  |
| \[Deprecated] Icon blacklist non global IPs                                     | \[icon\_blacklist\_non\_global\_ips]             | true                             |
| Customize the enabled feature flags on the clients                              | \[experimental\_client\_feature\_flags]          | fido2-vault-credentials          |
| Enable extended logging                                                         | \[extended\_logging]                             | true                             |
| Enable the log to output to Syslog                                              | \[use\_syslog]                                   | false                            |
| Log file path                                                                   | \[log\_file]                                     | /data/log/vaultwarden.log        |
| Log level                                                                       | \[log\_level]                                    | Info                             |
| Enable DB WAL                                                                   | \[enable\_db\_wal]                               | true                             |
| Max database connection retries                                                 | \[db\_connection\_retries]                       | 15                               |
| Timeout when aquiring database connection                                       | \[database\_timeout]                             | 30                               |
| Database connection pool size                                                   | \[database\_max\_conns]                          | 10                               |
| Database connection init                                                        | \[database\_conn\_init]                          |                                  |
| Bypass admin page security (Know the risks!)                                    | \[disable\_admin\_token]                         | false                            |
| Seconds between login requests                                                  | \[login\_ratelimit\_seconds]                     | 60                               |
| Max burst size for login requests                                               | \[login\_ratelimit\_max\_burst]                  | 10                               |
| Seconds between admin requests                                                  | \[admin\_ratelimit\_seconds]                     | 300                              |
| Max burst size for admin requests                                               | \[admin\_ratelimit\_max\_burst]                  | 3                                |
| Enable groups (BETA!) (Know the risks!)                                         | \[org\_groups\_enabled]                          | false                            |
| Generated max\_note\_size value to prevent if..else matching during every check | \[\_max\_note\_size]                             | 10000                            |
| Enforce Single Org with Reset Password Policy                                   | \[enforce\_single\_org\_with\_reset\_pw\_policy] | false                            |
| Attempt to use deprecated iframe-based Traditional Prompt (Duo WebSDK 2)        | \[duo\_use\_iframe]                              | false                            |
| Application Key (generated automatically)                                       | \[\_duo\_akey]                                   |                                  |
| Sendmail Command                                                                | \[sendmail\_command]                             |                                  |
| DEPRECATED smtp\_ssl                                                            | \[smtp\_ssl]                                     |                                  |
| DEPRECATED smtp\_explicit\_tls                                                  | \[smtp\_explicit\_tls]                           |                                  |
| \_smtp\_img\_src                                                                | \[\_smtp\_img\_src]                              | cid:                             |
| Enable SMTP debugging (Know the risks!)                                         | \[smtp\_debug]                                   | false                            |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://host.ppgg.in/vaultwarden/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
