Skip to content
Novaix 目前处于早期开发阶段,功能尚未稳定,可能存在严重的 Bug。请勿用于生产环境。

配置参考

Novaix 通过 config.yaml 文件进行配置,所有配置项均可通过 NOVAIX_ 前缀的环境变量覆盖。例如 server.port 对应 NOVAIX_SERVER_PORT

环境变量的优先级高于配置文件。

完整配置项

配置项默认值说明
server.host0.0.0.0监听地址
server.port8080监听端口
server.modedebug运行模式,debug / release(生产必须为 release
server.external_url-对外访问地址,如 https://panel.example.com(生产必填)
server.allowed_origins["*"]CORS 允许的源(生产环境不可使用 *
server.trusted_proxies[]反向代理 IP,如 ["127.0.0.1"]
database.driversqlite数据库类型,sqlite / mysql / postgres
database.dsnnovaix.dbSQLite 文件路径、MySQL DSN 或 PostgreSQL DSN
database.max_open_conns25MySQL / PostgreSQL 最大打开连接数
database.max_idle_conns10MySQL / PostgreSQL 最大空闲连接数
database.conn_max_lifetime3600MySQL / PostgreSQL 连接最大存活时间(秒)
jwt.secret-JWT 签名密钥(生产必填,≥16 字符)
jwt.expire24hToken 过期时间
security.encryption_key-AES-256 加密密钥,用于加密敏感数据(生产必填)
log.levelinfo日志级别,debug / info / warn / error
log.formattext日志格式,text(彩色终端)/ json(日志采集)
task.workers5异步任务并发数
collector.interval60监控数据采集间隔(秒)
collector.retention720监控数据保留时间(小时,默认 30 天)
collector.timeout10单次采集超时(秒)
storage.image_dirdata/images镜像和 ISO 文件存储目录
storage.upload_dirdata/uploads用户上传文件存储目录(CMS 图片等)
node.insecure_skip_verifytrue是否跳过节点 TLS 证书验证(证书通过 SSH 安全通道下发,默认跳过以避免时钟偏差导致验证失败)
admin.initial_password-初始管理员密码(空时自动生成,仅首次启动生效)
admin.pathadmin管理后台访问路径前缀,修改后通过 /您的路径 访问后台
license.key-授权许可证密钥(也可通过管理后台在线激活)
license.service_apihttps://huohuastudio.com授权验证服务地址(通常无需修改)
plugin.dirdata/plugins插件存储目录
plugin.marketplace_url-自定义插件市场索引地址(默认使用官方源)
theme.dirdata/themes主题存储目录
theme.marketplace_url-自定义主题市场索引地址(默认使用官方源)
ha.enabledfalse高可用模式,启用后支持多实例部署(需使用 MySQL 或 PostgreSQL)
demo.enabledfalse演示模式(定期重置数据)
demo.reset_interval1h演示模式数据重置间隔
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: 3600

PostgreSQL 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=True
yaml
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

部署到生产环境前,请确保完成以下配置:

  1. 设置 server.mode: release
  2. 设置 jwt.secret 为强随机字符串(≥16 字符)
  3. 设置 security.encryption_key 为独立的加密密钥
  4. 设置 server.external_url 为实际域名
  5. 设置 server.allowed_origins 为具体域名(不使用 *
  6. 确保 demo.enabled: false
  7. 使用 Nginx 或 Caddy 配置反向代理和 TLS
  8. 配置邮件服务(通过管理后台系统设置,支持 SMTP、Mailgun、Resend)
  9. 配置支付渠道(通过管理后台系统设置)