配置参考
Novaix 通过 config.yaml 文件进行配置,所有配置项均可通过 NOVAIX_ 前缀的环境变量覆盖。例如 server.port 对应 NOVAIX_SERVER_PORT。
环境变量的优先级高于配置文件。
完整配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
server.host | 0.0.0.0 | 监听地址 |
server.port | 8080 | 监听端口 |
server.mode | debug | 运行模式,debug / release(生产必须为 release) |
server.external_url | - | 对外访问地址,如 https://panel.example.com(生产必填) |
server.allowed_origins | ["*"] | CORS 允许的源(生产环境不可使用 *) |
server.trusted_proxies | [] | 反向代理 IP,如 ["127.0.0.1"] |
database.driver | sqlite | 数据库类型,sqlite / mysql / postgres |
database.dsn | novaix.db | SQLite 文件路径、MySQL DSN 或 PostgreSQL DSN |
database.max_open_conns | 25 | MySQL / PostgreSQL 最大打开连接数 |
database.max_idle_conns | 10 | MySQL / PostgreSQL 最大空闲连接数 |
database.conn_max_lifetime | 3600 | MySQL / PostgreSQL 连接最大存活时间(秒) |
jwt.secret | - | JWT 签名密钥(生产必填,≥16 字符) |
jwt.expire | 24h | Token 过期时间 |
security.encryption_key | - | AES-256 加密密钥,用于加密敏感数据(生产必填) |
log.level | info | 日志级别,debug / info / warn / error |
log.format | text | 日志格式,text(彩色终端)/ json(日志采集) |
task.workers | 5 | 异步任务并发数 |
collector.interval | 60 | 监控数据采集间隔(秒) |
collector.retention | 720 | 监控数据保留时间(小时,默认 30 天) |
collector.timeout | 10 | 单次采集超时(秒) |
storage.image_dir | data/images | 镜像和 ISO 文件存储目录 |
storage.upload_dir | data/uploads | 用户上传文件存储目录(CMS 图片等) |
node.insecure_skip_verify | true | 是否跳过节点 TLS 证书验证(证书通过 SSH 安全通道下发,默认跳过以避免时钟偏差导致验证失败) |
admin.initial_password | - | 初始管理员密码(空时自动生成,仅首次启动生效) |
admin.path | admin | 管理后台访问路径前缀,修改后通过 /您的路径 访问后台 |
license.key | - | 授权许可证密钥(也可通过管理后台在线激活) |
license.service_api | https://huohuastudio.com | 授权验证服务地址(通常无需修改) |
plugin.dir | data/plugins | 插件存储目录 |
plugin.marketplace_url | - | 自定义插件市场索引地址(默认使用官方源) |
theme.dir | data/themes | 主题存储目录 |
theme.marketplace_url | - | 自定义主题市场索引地址(默认使用官方源) |
ha.enabled | false | 高可用模式,启用后支持多实例部署(需使用 MySQL 或 PostgreSQL) |
demo.enabled | false | 演示模式(定期重置数据) |
demo.reset_interval | 1h | 演示模式数据重置间隔 |
demo.bypass_key | - | 演示模式旁路密钥,URL 带此密钥可解锁受限操作 |
MySQL DSN 格式
如果您使用 MySQL 数据库,database.dsn 的格式为:
user:password@tcp(host:port)/dbname?charset=utf8mb4&parseTime=True示例:
yaml
database:
driver: mysql
dsn: novaix:your-password@tcp(127.0.0.1:3306)/novaix?charset=utf8mb4&parseTime=True
max_open_conns: 25
max_idle_conns: 10
conn_max_lifetime: 3600PostgreSQL DSN 格式
如果您使用 PostgreSQL 数据库,database.dsn 的格式为:
host=localhost port=5432 user=novaix password=your-password dbname=novaix sslmode=disable示例:
yaml
database:
driver: postgres
dsn: "host=127.0.0.1 port=5432 user=novaix password=your-password dbname=novaix sslmode=disable"
max_open_conns: 25
max_idle_conns: 10
conn_max_lifetime: 3600高可用部署
启用 ha.enabled: true 后,Novaix 支持多实例部署,适合对可用性要求较高的生产环境。
yaml
ha:
enabled: true
database:
driver: mysql
dsn: novaix:your-password@tcp(127.0.0.1:3306)/novaix?charset=utf8mb4&parseTime=Trueyaml
ha:
enabled: true
database:
driver: postgres
dsn: "host=127.0.0.1 port=5432 user=novaix password=your-password dbname=novaix sslmode=disable"WARNING
高可用模式必须使用 MySQL 或 PostgreSQL,不支持 SQLite。启用后系统会将 WebSocket ticket、模拟登录 ticket、OAuth 临时状态等数据存储到数据库(而非内存),并通过分布式锁保护计费、监控采集、任务运行器等后台任务不会在多个实例间重复执行。
生产环境清单
IMPORTANT
部署到生产环境前,请确保完成以下配置:
- 设置
server.mode: release - 设置
jwt.secret为强随机字符串(≥16 字符) - 设置
security.encryption_key为独立的加密密钥 - 设置
server.external_url为实际域名 - 设置
server.allowed_origins为具体域名(不使用*) - 确保
demo.enabled: false - 使用 Nginx 或 Caddy 配置反向代理和 TLS
- 配置邮件服务(通过管理后台系统设置,支持 SMTP、Mailgun、Resend)
- 配置支付渠道(通过管理后台系统设置)
