斐浦软件 - 站点配置

官方文档地址

https://frappeframework.com/docs/user/en/basics/site_config

站点配置文件

site_config.json

frappe14/sites/demo.local/site_config.json

通用配置文件

common_site_config.json

frappe14/sites/common_site_config.json

样例

{
  "background_workers": 1,
  "developer_mode": true,
  "dns_multitenant": true,
  "file_watcher_port": 6789,
  "frappe_user": "frappe",
  "gunicorn_workers": 2,
  "maintenance_mode": 0,
  "pause_scheduler": 0,
  "redis_cache": "redis://localhost:13000",
  "redis_cache_sentinel_enabled": 1,
  "redis_cache_sentinels": [
    "redis-cache-sentinel-1:26379",
    "redis-cache-sentinel-2:26379"
  ],
  "redis_cache_sentinel_password": "sentinelpassword",
  "redis_cache_master_service": "mymaster",
  "redis_cache_master_password": "masterpassword",
  "redis_queue": "redis://localhost:11000",
  "redis_queue_sentinel_enabled": 1,
  "redis_queue_sentinels": [
    "redis-queue-sentinel-1:26379",
    "redis-queue-sentinel-2:26379"
  ],
  "redis_queue_sentinel_password": "sentinelpassword",
  "redis_queue_master_service": "mymaster",
  "redis_queue_master_password": "masterpassword",
  "redis_socketio": "redis://localhost:12000",
  "scheduler_tick_interval": 120,
  "serve_default_site": true,
  "socketio_port": 9000,
  "webserver_port": 8000,
  "root_password": "MARIADB_PASSWORD",
  "live_reload": true
}

可选设置

workers

允许创建自定义工作线程。参数是可选的,如果未设置,则将使用常规。例:。重新生成配置并重新启动进程以使其生效。background_workersbackground_workers"workers": { "custom_worker1": { "timeout": 5000, "background_workers": 4 } }

redis_cache_sentinel_enabled

如果设置为在生产设置中连接到 Redis 哨兵1

redis_cache_sentinels

哨兵服务器主机/IP 和端口阵列

redis_cache_sentinel_password

用于连接到哨兵的密码

redis_cache_master_service

要连接到的主服务

redis_cache_master_password

Redis 主服务器密码

redis_queue_sentinel_enabled

如果设置为在生产设置中连接到 Redis 哨兵1

redis_queue_sentinels

哨兵服务器主机/IP 和端口阵列

redis_queue_sentinel_password

用于连接到哨兵的密码

redis_queue_master_service

要连接到的主服务

redis_queue_master_password

Redis 主服务器密码


除此之外,您还可以设置希望可用于所有站点的任何密钥。

配置值优先级

在 中设置的特定键的值优先于 中定义的值。这意味着在某些情况下,通用配置中定义的键值可以用作回退。site_config.jsoncommon_site_config.json

想象一下,你想在你工作台上的所有站点上启用 Frappe Web Logger,除了一个 worker.frappe.xyz,因为让我们假设它是一个非常活跃的站点,你只需要一次被大量信息淹没。您可以在 中将其设置为 worker.frappe.xyz 中。enable_frappe_loggertruecommon_site_config.jsonfalsesite_config.json

$ bench config set-common-config -c enable_frappe_logger true
$ bench --site worker.frappe.xyz set-config enable_frappe_logger false

同样,也可以让单个应用程序服务器支持多个站点,每个站点具有不同的数据库解决方案提供商或位置。如果选择将工作台上的所有站点移动到另一台数据库服务器,则切换可能只需更新工作台上的值即可。common_site_config.json

标准配置键

这些是 Frappe Framework 和 Bench 使用的一些标准键。

强制设置

这些键是在 中设置的,除非在站点创建期间提供值,否则会自动生成这些键。site_config.json



db_type

数据库类型。选项包括“mariadb”和“postgres”。

db_name

数据库名称(也用作默认数据库用户名)。

db_password

数据库密码。

可选设置



admin_password

标准“管理员”用户的默认密码。这将用作所有新站点的管理员用户的密码。

allow_tests

设置此选项允许在此站点上运行测试。

allow_cors

启用跨站点 HTTP 请求。可以设置为:

  • 特定来源,例如:"https://example.com"

  • 来源列表,例如:["https://portal.example.com", "https://shop.example.com"]

  • 通配符:(不建议用于生产)"*"

data_import_batch_size

数据导入的批处理大小

db_user

从 v16 开始,指定单独的数据库用户名

deny_multiple_logins

阻止用户拥有多个活动会话。

deny_multiple_sessions

拒绝多个会话。

developer_mode

如果设置了开发人员模式,则会在文件中自动更新 DocType 更改。

disable_async

禁用 socket.io 客户端;客户端停止轮询 socket.io 服务器。

disable_error_snapshot

禁用错误快照。

disable_global_search

禁用全局搜索。

disable_scheduler

禁用调度程序

disable_session_cache

禁用会话缓存。

disable_website_cache

禁用网站缓存。

encryption_key

用于加密密码的密钥。此密码是在新站点上自动创建的。在站点还原时,还必须还原此密钥才能使用现有密码。

enable_frappe_logger

如果设置,则记录请求中的基本信息并将其保存在 下。./sites/{site}/logs/frappe.web.log

error_report_email

设置默认的错误报告电子邮件。

ignore_csrf

忽略 CSRF。

install_apps

提及要在站点和创建时安装的应用程序列表。restorereinstallnew

host_name

主机名 his 是后台作业和打印所必需的,以正确标识站点 URL。该值应包括协议和端口(如果为非默认值),不带尾部斜杠。例如:"https://erp.example.org:2424"

http_port

更改 Frappe 设置的 HTTP 端口。

keep_backups_for_hours

用于传递 .它根据备份文件的年龄(以小时为单位)保留备份文件。frappe.utils.new_backupfrappe.utils.delete_temp_backups

local_infile

将 Flag 设置为允许 MySQL 连接的本地 infile 中的数据。

logging

通过frappe.log利用frappe.debug_log来启用不同级别的日志记录。在级别 2 中,显示在每个操作中运行的查询和结果。

maintenance_mode

启用维护模式。

max_file_size

文件上传允许的最大文件大小。默认值为 10MiB。

max_reports_per_user

用户可以创建的最大自动电子邮件报告数,默认值为 3。

monitor

如果设置,则记录所有请求并保存在 下。查看调试文档下的监视./logs/monitor.json.log

mute_emails

如果为 true,则停止电子邮件发送。

pause_scheduler

暂停调度程序

rate_limit

使用 指定速率限制。查看文档参考速率限制frappe.rate_limiter

robots_txt

转到 frappe-site.com/robots.txt 时要呈现robots.txt文件的路径

root_login

数据库根用户名。

root_password

数据库 root 密码。

server_script_enabled

启用/禁用服务器脚本。

skip_setup_wizard

跳过安装向导。

socketio_port

指定 Socket.IO 端口。

webserver_port

一般用作 conf 键的回退。http_port

app_include_js

通过 URL 注入 JavaScript 脚本。必须是绝对 URL 的列表。/app

app_include_css

通过 URL 注入 CSS 样式表。必须是绝对 URL 的列表。/app

远程数据库主机设置

要使用 SSL 连接到远程数据库服务器,必须首先将数据库主机配置为接受 SSL 连接。Digital Ocean 在本教程中提供了如何执行此操作的示例。完成配置后,请设置以下三个选项。必须设置所有选项,Frappe 才能尝试使用 SSL 进行连接。



db_host

如果不是数据库主机。localhost

db_port

指定数据库的端口。

db_ssl_ca

用于使用 ssl 连接到数据库主机的 ca.pem 文件的完整路径。示例值为 。"/etc/mysql/ssl/ca.pem"

db_ssl_cert

用于使用 ssl 连接到数据库主机的 cert.pem 文件的完整路径。示例值为 。"/etc/mysql/ssl/client-cert.pem"

db_ssl_key

用于使用 ssl 连接到数据库主机的 key.pem 文件的完整路径。示例值为 。"/etc/mysql/ssl/client-key.pem"

rds_db

在设置站点数据库时授予某些权限而不是全部权限。用于 .db_manager.py

副本只读数据库主机设置

用户指南中提供了在副本设置中从辅助 MariaDB 服务器设置读取操作的指南。



read_from_replica

启用禁用从副本读取。可接受的值为 1/0 或 true/false。

different_credentials_for_replica

如果副本上的数据库凭据不同,则设置 1 否则为 0

replica_host

repica 的 IP 地址

replica_db_name

副本数据库名称

replica_db_password

副本数据库密码

默认外发电子邮件设置

Frappe 电子邮件模块的一些可用较低级别的配置。



auto_email_id

如果设置,这将是外发邮件的默认电子邮件。

mail_login

用作第二个首选项,“notifications@example.com”用作后备。

always_use_account_email_id_as_sender

使用帐户电子邮件 ID 作为发件人。

always_use_account_name_as_sender_name

使用帐户名称作为发件人名称

email_sender_name

电子邮件发件人姓名。

mail_server

SMTP 服务器主机名。

mail_port

STMP 端口。

mail_login

SMTP 服务器的登录 ID。

mail_password

SMTP 服务器的密码。

pop_timeout

POP 超时。

use_ssl

通过SSL连接。

use_tls

通过 TLS 连接。

工作台配置

这些配置由 Bench CLI 使用,并且可以通过通用站点配置为系统上的每个工作台设置不同的配置。



restart_supervisor_on_update

在工作台更新时重新启动主管

restart_systemd_on_update

在工作台更新时重新启动 systemd

release_bench

如果设置,则当前工作台将纯粹被视为执行发布的工具。

background_workers

分配用于处理后台作业的工作人员数。

dns_multitenant

如果设置,则为 Bench 打开 DNS multitenany。在 NGINX conf 生成期间使用。

file_watcher_port

文件观察程序的端口号

frappe_user

在其下创建当前 Bench 的用户。

gunicorn_workers

Gunicorn 工人的数量。默认最小值为 2。

gunicorn_max_requests

gunicorn worker 将重新启动后的请求数。默认值为 5000。

maintenance_mode

如果设置,则使站点脱机并停止所有后台进程和计划作业。在站点迁移和工作台更新操作期间使用。

pause_scheduler

如果设置,则暂停指定站点的调度程序。

redis_cache

在 Bench Procfile 中定义的 redis 缓存进程的端口号。

redis_queue

Bench Procfile 中定义的 redis 队列进程的端口号。

redis_socketio

在 Bench Procfile 中定义的 redis Socket.IO 进程的端口号。

scheduler_tick_interval

作业计划程序运行一个循环,每 scheduler_tick_interval 秒将所有待执行的计划作业排入队列。这样就可以设置调度作业的最小频率。默认值为 60。

socketio_port

Bench Procfile 中定义的 Socket.IO 进程的端口号。

webserver_port

Frappe Web 服务器的端口号。

live_reload

重建资产时自动重新加载 Desk。

集成

如果您是服务提供商,某些第三方集成可能需要您为工作台上的所有站点定义较低级别的配置。Frappe 允许您通过站点配置为您的集成定义这些配置设置。

Sandbox



sandbox_api_key

Sandbox API Key

sandbox_api_secret

Sandbox API Secret

sandbox_api_password

Sandbox API Password

sandbox_api_username

Sandbox API Username

sandbox_publishable_key

Sandbox Publishable Key

sandbox_signature

Sandbox Signature

DropBox



dropbox_access_key

Dropbox Access Key

dropbox_broker_site

Dropbox Broker Site

dropbox_secret_key

Dropbox Secret Key

PayPal



paypal_username

Paypal Username

paypal_password

PayPal Password

paypal_signature

Paypal Signature

Others



google_analytics_id

Google Analytics ID

converted_rupee_to_paisa

Converted Rupee To Paisa for RazorPay Settings


外部扩展配置

有时,人们可能不希望在站点配置 JSON 中直接硬编码 db password 等配置值。在这种情况下,在站点正常设置后,您可以安装一个自定义应用程序,该应用程序允许通过返回要附加/覆盖的任何值的字典来扩展站点配置。该应用程序可以根据需要获取这些内容,但首选延迟非常低的东西,因为它必须针对对站点的每个请求运行。

它可以这样配置(在初始站点设置+安装应用程序后完成

{
    "extra_config": "vault.vault.conf_hook"
}

或者,如果您有多个

{
    "extra_config": ["vault.vault.conf_hook1", "vault.vault.conf_hook2"]
}

自定义应用中方法的一个示例是

def conf_hook() -> dict:
    password = get_password()
    return {"db_password": password}









此文档对你有帮助?

本页