配置

关于配置

有三种配置方式:

  1. 通过管理页面 https://vault.bitwarden.in/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 文件中。

管理页面中各配置项说明

注意:管理页面的设置会覆盖相应的环境变量值或 config.json 文件中的现有值。保存后,建议停止设置环境变量以免造成混淆。这不适用于只读部分,只读部分只能通过环境变量进行设置。

General Settings

  • Domain URL:设置为访问服务器的 URL,包括「http[s]://」。如果没有这个值,一些服务器功能(如附件下载、电子邮件链接和 U2F 等)将无法正常工作。如果使用非默认端口,还需要指定端口号。示例:https://vault.bitwarden.in:28443

  • HIBP Api KeyHaveIBeenPwned API 密钥。在此处申请(收费服务)。无 HIBP 的话,密码库报告中的「数据泄露报告」无法使用

  • Per-user attachment limit (KB):对每个用户的附件存储空间限制在 xx KB 以内,超过限制后无法上传更多附件

  • Per-organization attachment limit (KB):对每个组织的附件存储空间限制在 xx KB 以内,超过限制后无法上传更多附件

  • Trash auto-delete days:在自动删除一个废弃项目之前要等待的天数。如果不设置,废弃的项目就不会被自动删除。这是一个全局设置,所以请确保将这个设置的任何更改告知所有用户。

  • 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

  • Password iterations:服务器端密码散列迭代次数,新用户或当前用户更改密码时才会应用此设置。太高降低性能,太低使主密码易受暴力破解,不建议低于 100000。默认:100000

  • Show password hints:控制密码提示是否直接显示在网页中。否则,如果电子邮件被禁用,则无法看到密码提示。默认:true

  • Admin page token:定义用于登录管理页面的 Token 并启用管理页面。在这里更改它不会取消当前会话的授权。

  • Invitation organization name:定义非来自特定组织的邀请电子邮件中显示的名称。比如:Vaultwarden

Advanced Settings

  • Client IP header:客户端 IP 标头,用于标识客户端的 IP。如果为空,则使用远程 IP,设置为 none 将禁用任何标头及仅使用远程 IP。默认:X-Client-IP

  • Positive icon cache expiry:已成功缓存的图标重新下载的间隔时间(单位秒),此时间后图标将被重新下载。0 表示不重新下载。默认:2592000

  • Negative icon cache expiry:未成功缓存的图标重新下载的间隔时间(单位秒),此间隔后图标将重新尝试下载。0 表示不重新下载。默认:259200

  • Icon download timeout:下载图标时的超时时间(单位秒)。默认:10

  • Icon blacklist Regex:匹配此正则表达式的域名和 IP 的图标将不会被拉取。这对于隐藏本地网络中的其他服务器有用

  • Icon blacklist non global IPs:任何未被定义为全局 IP 的 IP 都将被列入黑名单。这对保护你的内部环境有用。参阅 https://en.wikipedia.org/wiki/Reserved_IP_addresses 了解会被屏蔽的 IP 列表。默认: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:日志的时间戳格式,参考日期和时间语法格式。默认:%Y-%m-%d %H:%M:%S.%3f

  • Bypass admin page security (Know the risks!):忽略管理页面的安全性。这将禁用管理页面的管理令牌,这样你就可以在前端使用自己的认证方式。默认:false

  • Allowed iframe ancestors (Know the risks!):允许将网页密码库嵌入到 iframe 中的域名列表,这对于嵌入到安全的内部网络中时有用

Yubikey Settings

  • Enabled:启用 Yubikey。默认:true

  • Client ID:在此处申请的您的 YUBICO_CLIENT_ID

  • Secret Key:在此处申请的您的 YUBICO_SECRET_KEY

  • Server:自定义 OTP 服务器地址。值为空表示使用默认的 YubiCloud 服务器地址

Global Duo Settings

注意:用户可以覆盖这部分的设置

SMTP Email Seiings

  • Enabled:启用 SMTP。默认:true

  • Host:SMTP 服务器地址

  • Enable Secure SMTP:(显式)启用此功能后,将默认使用 STARTTLS(一般为 587 或 25 端口)。默认:true

  • Force TLS:(隐式)启用此功能将强制使用 SSL/TLS 连接(一般为 465 端口),而不是使用 STARTTLS 升级的不安全的连接。Enable Secure SMTP 必须设置为 true,此设置才能起作用。默认:false

  • Port:SMTP 服务器端口。默认:587

  • From Address:发件人地址

  • From Name:发件人名称。默认:Vaultwarden

  • Username:用户名

  • Password:密码

  • SMTP Auth mechanism:对于 SSL,默认值应为 PlainLogin;对于非 SSL,默认值应为空。可用的值:PlainLoginXoauth2。使用多个选项时需要用英文逗号「,」分隔

  • SMTP connection timeout:SMTP 连接超时时间(单位秒)。默认:15

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

  • Enable SMTP debugging (Know the risks!):危险:启用此功能会输出非常详细的 SMTP 信息。这可能包含敏感信息,如密码和用户名!只有在排除故障时才启用此功能。默认:false

  • Accept Invalid Certs (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

Read-Only Config

注意:这些选项无法在编辑器(以及管理页面)中修改,因为它们需要重新启动服务器。要修改它们,需要在启动服务器时设置正确的环境变量。您可以在每个选项的工具提示中检查变量名称。

  • Data folder:主数据文件夹。默认:data

  • Database URL:数据库 URL。默认:data/db.sqlite3

  • Database connection pool size:用于连接数据库的连接池的大小。默认:10

  • Icon cache folder:图标缓存文件夹。默认:data/icon_cache

  • Attachments folder:附件文件夹。默认:data/attachments

  • Sends folder:Send 文件夹。默认:data/sends

  • Templates folder:模板数据文件夹,默认情况下使用嵌入式模板。默认:data/templates

  • Session JWT key:会话 JWT 密钥。默认:data/rsa_key

  • Web vault folder:网页密码库文件夹。默认:web-vault/

  • Enable websocket notifications:启用 Websocket 通知。默认:false

  • Websocket address:Websocket 服务器地址。默认:0.0.0.0

  • Websocket port:Websocket 服务器端口。默认:3012

  • Job scheduler poll interval:作业调度线程检查工作运行的频率。如果设置为0,则全局禁止调度作业。默认:30000

  • Send purge schedule:检查是否有 Send 超过其删除日期的作业的 Cron 时间表。默认为每小时(每小时的第 5 分钟)。设置为空,则禁用此作业。默认:0 5 * * * *

  • Trash purge schedule:检查要永久删除的废弃项目的作业的 Cron 时间表。默认为每天(午夜后的第 5 分钟)。设置为空,则禁用此作业。默认:0 5 0 * * *

  • Domain Set:表示域名是否由管理员设置,否则将使用默认值。默认:false

  • Domain origin:域名 URL 源。例如 https://vault.bitwarden.in:8443/admin,其 Domian origin 是 https://vault.bitwarden.in:8443

  • Domain path:域名 URL 路径。例如 https://vault.bitwarden.in:8443/admin,其 Domian path 是 /admin

  • Enable web vault:启用网页密码库。默认:true

  • Internal IP header property, used to avoid recomputing each time:内部 IP 标头属性,用于避免每次重新计算。默认:true

  • Enable extended logging:启用扩展日志记录,这将在日志中显示时间戳和目标。默认:true

  • Enable the log to output to Syslog:启用记录到 Syslog。默认:false

  • Log file path:日志记录文件的路径。默认:/data/vaultwarden.log

  • Log level:日志记录的级别。可用的值:tracetebuginfowarnerror 以及 off。为了减少日志数量,可以将级别设置为 warnerror。默认:info

  • Enable DB WAL:启用数据库 WAL。关闭这个设置可能会导致性能变差,但如果在一些不支持 WAL 的外来文件系统上使用 vaultwarden,可能会有帮助。在改变这个设置之前,请参阅项目 Wiki。默认:true

  • Max database connection retries:在启动过程中重试数据库连接的次数,每次重试的间隔时间为 1 秒,设置为 0 表示无限制重试。默认:15

  • Application Key (generated automatically):Duo 相关的密钥,由系统自动生成

Backup Database

注意:要使本部分运行,需要在本地安装有 sqlite3。

管理页面可读写配置项与环境变量名称的对应

管理页面可读写配置项

对应的环境变量(或 config.json 中字段)

默认值

General Settings

Domain URL

[domain]

HIBP Api Key

[hibp_api_key]

Per-user attachment limit (KB)

[user_attachment_limit]

Per-organization attachment limit (KB)

[org_attachment_limit]

Trash auto-delete days

[trash_auto_delete_days]

Disable icon downloads

[disable_icon_download]

false

Allow new signups

[signups_allowed]

true

Require email verification on signups. This will prevent logins from succeeding until the address has been verified

[signups_verify]

false

If signups require email verification, automatically re-send verification email if it hasn't been sent for a while (in seconds)

[signups_verify_resend_time]

3600

If signups require email verification, limit how many emails are automatically sent when login is attempted (0 means no limit)

[signups_verify_resend_limit]

6

Email domain whitelist

[signups_domains_whitelist]

Org creation users

[org_creation_users]

Allow invitations

[invitations_allowed]

true

Password iterations

[password_iterations]

100000

Show password hints

[show_password_hint]

true

Admin page token

[admin_token]

Invitation organization name

[invitation_org_name]

Vaultwarden

Advanced Setings

Client IP header

[ip_header]

X-Real-IP

Positive icon cache expiry

[icon_cache_ttl]

2592000

Negative icon cache expiry

[icon_cache_negttl]

259200

Icon download timeout

[icon_download_timeout]

10

Icon blacklist Regex

[icon_blacklist_regex]

Icon blacklist non global IPs

[icon_blacklist_non_global_ips]

true

Disable Two-Factor remember

[disable_2fa_remember]

false

Disable authenticator time drifted codes to be valid

[authenticator_disable_time_drift]

false

Require new device emails

[require_device_email]

false

Reload templates (Dev)

[reload_templates]

false

Log timestamp format

[log_timestamp_format]

%Y-%m-%d %H:%M:%S.%3f

Bypass admin page security (Know the risks!)

[disable_admin_token]

false

Allowed iframe ancestors (Know the risks!)

[allowed_iframe_ancestors]

Yubikey Seetings

Enabled

[_enable_yubico]

true

Client ID

[yubico_client_id]

Secret Key

[yubico_secret_key]

Server

[yubico_server]

Global Duo Settings

Enabled

[_enable_duo]

false

Integration Key

[duo_ikey]

Secret Key

[duo_skey]

Host

[duo_host]

SMTP Email Settings

Enabled

[_enable_smtp]

true

Host

[smtp_host]

Enable Secure SMTP

[smtp_ssl]

true

Force TLS

[smtp_explicit_tls]

false

Port

[smtp_port]

From Address

[smtp_from]

From Name

[smtp_from_name]

Vaultwarden

Username

[smtp_username]

Password

[smtp_password]

SMTP Auth mechanism

[smtp_auth_mechanism]

SMTP connection timeout

[smtp_timeout]

15

Server name sent during HELO

[helo_name]

Email 2FA Settings

Enabled

[_enable_email_2fa]

false

Email token size

[email_token_size]

6

Token expiration time

[email_expiration_time]

600

Maximum attempts

[email_attempts_limit]

3

管理页面只读配置项与环境变量名称的对应

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

管理页面只读配置项

对应的环境变量

默认值

Data folder

[data_folder]

data

Database URL

[database_url]

data/db.sqlite3

Database connection pool size

[database_max_conns]

10

Icon cache folder

[icon_cache_folder]

data/icon_cache

Attachments folder

[attachments_folder]

data/attachments

Sends folder

[sends_folder]

data/sends

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

[websocket_enabled]

false

Websocket address

[websocket_address]

0.0.0.0

Websocket port

[websocket_port]

3012

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 * * *

Domain Set

[domain_set]

false

Domain origin

[domain_origin]

Domain path

[domain_path]

Enable web vault

[web_vault_enabled]

true

Internal IP header property, used to avoid recomputing each time

[_ip_header_enabled]

true

Enable extended logging

[extended_logging]

true

Enable the log to output to Syslog

[use_syslog]

false

Log file path

[log_file]

Log level

[log_level]

Info

Enable DB WAL

[enable_db_wal]

true

Max database connection retries

[db_connection_retries]

15

Application Key (generated automatically)

[_duo_akey]