2026-07-21 15:39:47 +08:00
|
|
|
|
[default]
|
|
|
|
|
|
app.debug = false
|
|
|
|
|
|
app.description = "基于 FastAPI 的 chongming 打包脚手架"
|
|
|
|
|
|
app.name = "chongming"
|
|
|
|
|
|
app.version = "0.1.0"
|
|
|
|
|
|
env = "production"
|
|
|
|
|
|
prefix = "/api/v1"
|
|
|
|
|
|
upload_path = "uploads"
|
|
|
|
|
|
|
|
|
|
|
|
[zenoh]
|
|
|
|
|
|
json5_path = "./config/zenoh_config.json5"
|
|
|
|
|
|
|
|
|
|
|
|
[cache]
|
2026-09-04 14:50:34 +08:00
|
|
|
|
backend = "sqlite"
|
|
|
|
|
|
path = "./cache_data/cache.db"
|
2026-09-17 15:33:35 +08:00
|
|
|
|
# 配置优先来源模式(同时决定 [workers.config] 与 count 在启动时的取舍):
|
|
|
|
|
|
# "cache"(本模板默认)= 以缓存为准:chongming-cache 为单一事实来源,插件初始化即读缓存值,
|
|
|
|
|
|
# 管理接口(/admin/workers/<type>/config、/scale)改动跨重启保持;
|
|
|
|
|
|
# toml 仅在缓存缺失时引导。启动日志会提示 toml 与缓存的差异键
|
|
|
|
|
|
# (以缓存为准);如需让 toml 改动生效,先删除 worker:cm:configs:<type>
|
|
|
|
|
|
# (运行时配置)/ worker:cm:counts:<type>(副本数)缓存键再重启。
|
|
|
|
|
|
# "toml" = 以文件为准:启动时用 config/workers/<type>/config.toml 的
|
|
|
|
|
|
# [workers.config] 与 count 覆盖写入缓存(前端读缓存 → 显示 toml 值);
|
|
|
|
|
|
# 管理接口改动仅本次运行有效,重启网关即被文件覆盖。
|
2026-08-27 10:13:03 +08:00
|
|
|
|
launch_worker_count = "cache"
|
2026-07-21 15:39:47 +08:00
|
|
|
|
|
|
|
|
|
|
[security]
|
|
|
|
|
|
algorithm = "HS256"
|
|
|
|
|
|
secret_key = "your-secret-key-change-in-production"
|
|
|
|
|
|
|
2026-09-21 14:03:47 +08:00
|
|
|
|
[license]
|
|
|
|
|
|
# 机器码授权(插件白名单)。未授权插件不加载、不注册路由、管理接口禁止操作。
|
|
|
|
|
|
#
|
|
|
|
|
|
# 打包产物(Nuitka/PyInstaller)**恒为强制校验**,不存在可被配置绕过的开关:
|
|
|
|
|
|
# 部署目录的 config.toml 是明文可写的,任何 enabled/mode 开关都能被一键改掉。
|
|
|
|
|
|
# 只有非打包态(开发/测试)才会读取 enabled,默认关闭以免影响开发流程。
|
|
|
|
|
|
# enabled = false
|
|
|
|
|
|
# 授权文件路径(相对网关工作目录)
|
|
|
|
|
|
path = "license.lic"
|
|
|
|
|
|
# 厂商公钥(base64 裸 32 字节,或 PEM)。公钥可明文放置:换公钥只会验签失败,
|
|
|
|
|
|
# 无法据以伪造授权(伪造需要厂商私钥)。
|
|
|
|
|
|
# 构建时由 build.py 从 CHONGMING_LICENSE_PUBKEY 或 license_public.key 注入;
|
|
|
|
|
|
# 缺失时构建会失败(避免产出无法验签、所有插件都加载不了的"砖头"包)。
|
|
|
|
|
|
public_key = ""
|
|
|
|
|
|
# 指纹命中阈值(N-of-M)。4 个可信来源下取 3 表示容忍单块网卡或单颗 eMMC 更换。
|
|
|
|
|
|
min_match = 3
|
|
|
|
|
|
|
2026-07-21 15:39:47 +08:00
|
|
|
|
[production]
|
|
|
|
|
|
debug = false
|
|
|
|
|
|
env = "production"
|
|
|
|
|
|
|
|
|
|
|
|
[production.server]
|
|
|
|
|
|
access_log = false
|
|
|
|
|
|
host = "0.0.0.0"
|
|
|
|
|
|
port = 8000
|
|
|
|
|
|
reload = false
|
|
|
|
|
|
timeout_keep_alive = 65
|
|
|
|
|
|
workers = 4
|
|
|
|
|
|
|
|
|
|
|
|
[production.logging]
|
|
|
|
|
|
backup_count = 5 # 最多保存 10 个日志文件
|
|
|
|
|
|
file = "logs"
|
|
|
|
|
|
format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
|
|
|
|
|
level = "INFO"
|
|
|
|
|
|
max_size = 10485760 # 10MB
|
2026-08-27 10:13:03 +08:00
|
|
|
|
access_sample_rate = 0.1
|
2026-07-21 15:39:47 +08:00
|
|
|
|
|
|
|
|
|
|
[production.cors]
|
|
|
|
|
|
allow_credentials = true
|
2026-08-27 10:13:03 +08:00
|
|
|
|
allow_headers = ["Content-Type", "Authorization", "Accept"]
|
|
|
|
|
|
allow_methods = ["GET", "POST", "PUT", "DELETE", "OPTIONS"]
|
|
|
|
|
|
allow_origins = ["http://localhost:5173", "http://127.0.0.1:5173"]
|
|
|
|
|
|
max_age = 600
|
2026-07-21 15:39:47 +08:00
|
|
|
|
|
2026-08-07 14:28:03 +08:00
|
|
|
|
[production.mqtt]
|
|
|
|
|
|
enabled = true
|
|
|
|
|
|
host = "0.0.0.0"
|
|
|
|
|
|
port = 1883
|
2026-08-21 09:45:47 +08:00
|
|
|
|
# 是否由网关启动内嵌 amqtt Broker 子进程:
|
|
|
|
|
|
# true (默认)= 网关自带 amqtt Broker,host/port 为 Broker 监听地址
|
|
|
|
|
|
# false = 使用外部 MQTT Broker,网关仅启动 Bridge 客户端连接
|
|
|
|
|
|
# host/port 需指向外部 Broker 地址(如 "192.168.1.10")
|
|
|
|
|
|
use_embedded_broker = true
|
|
|
|
|
|
# MQTT Broker 认证(可选,默认匿名):
|
|
|
|
|
|
# - 内嵌 Broker(use_embedded_broker=true):配置后要求所有客户端(含网关 Bridge)
|
|
|
|
|
|
# 用该账号密码连接,未配置则保持匿名
|
|
|
|
|
|
# - 外部 Broker:网关 Bridge 用该账号密码连接(broker 侧自行配置对应账号)
|
|
|
|
|
|
# 注意:密码为明文存储,生产环境建议使用外部 Broker + 环境变量注入
|
|
|
|
|
|
# username = "chongming"
|
|
|
|
|
|
# password = "change-me"
|
2026-08-07 14:28:03 +08:00
|
|
|
|
|
|
|
|
|
|
# MQTT Bridge 额外订阅主题推荐声明在各插件自己的配置里:
|
|
|
|
|
|
# config/workers/<type>/config.toml → [[workers.mqtt_topics]]
|
|
|
|
|
|
# (如 aibox_sophon_adapter 插件的 /board_ping 心跳主题)
|
|
|
|
|
|
# 全局 [<env>.mqtt].custom_topics 仍可作为通用兜底(可选,不推荐)。
|
|
|
|
|
|
|
|
|
|
|
|
[production.mqtt.broker]
|
|
|
|
|
|
# amqtt Broker 可选配置,默认允许匿名连接
|
|
|
|
|
|
# 详细参数参考: https://github.com/Yakifo/amqtt
|
|
|
|
|
|
|
2026-07-21 15:39:47 +08:00
|
|
|
|
[production.module_system]
|
|
|
|
|
|
path = [
|
|
|
|
|
|
"resources/app.mbank",
|
|
|
|
|
|
"resources/plugins.mbank",
|
|
|
|
|
|
]
|
|
|
|
|
|
type = "module-bank"
|
|
|
|
|
|
|
|
|
|
|
|
[production.file_system]
|
|
|
|
|
|
path = "static.svfs"
|
|
|
|
|
|
type = "svfs"
|