配置说明

OpsHub 使用 YAML 格式的配置文件,本文档详细说明各配置项的含义和使用方法。

配置文件位置

主配置文件位于 config/config.yaml,系统启动时会自动加载该文件。

如果使用 Docker 部署,需要通过 -v 参数挂载配置文件到 /app/config/config.yaml

完整配置示例

# ===========================================
# OpsHub 配置文件
# ===========================================

# 服务器配置
server:
  mode: release          # 运行模式: debug, release, test
  http_port: 9876        # HTTP 服务端口
  rpc_port: 9090         # RPC 服务端口 (内部通信)
  read_timeout: 60000    # 读取超时 (毫秒)
  write_timeout: 60000   # 写入超时 (毫秒)
  jwt_secret: "your-secret-key-change-in-production"

# 数据库配置
database:
  driver: mysql          # 数据库类型: mysql
  host: 127.0.0.1        # 数据库地址
  port: 3306             # 数据库端口
  database: opshub       # 数据库名称
  username: root         # 用户名
  password: "123456"     # 密码
  max_idle_conns: 10     # 最大空闲连接数
  max_open_conns: 100    # 最大打开连接数
  conn_max_lifetime: 3600 # 连接最大生命周期 (秒)

# Redis 配置
redis:
  host: 127.0.0.1        # Redis 地址
  port: 6379             # Redis 端口
  password: ""           # 密码 (无密码留空)
  db: 0                  # 数据库编号
  pool_size: 10          # 连接池大小
  min_idle_conn: 5       # 最小空闲连接数

# 日志配置
log:
  level: info            # 日志级别: debug, info, warn, error
  filename: logs/app.log # 日志文件路径
  max_size: 100          # 单个日志文件最大大小 (MB)
  max_backups: 10        # 保留的旧日志文件数量
  max_age: 30            # 日志文件保留天数
  compress: true         # 是否压缩旧日志
  console: true          # 是否同时输出到控制台

配置项详解

Server 服务器配置

配置项类型默认值说明
modestringrelease运行模式,debug 模式会输出更详细的日志
http_portint9876HTTP API 服务监听端口
rpc_portint9090内部 RPC 通信端口
read_timeoutint60000HTTP 读取超时时间(毫秒)
write_timeoutint60000HTTP 写入超时时间(毫秒)
jwt_secretstring-JWT 签名密钥,生产环境务必修改
安全警告:生产环境必须修改 jwt_secret,使用至少 32 位的随机字符串。

Database 数据库配置

配置项类型默认值说明
driverstringmysql数据库驱动,目前仅支持 mysql
hoststring127.0.0.1数据库服务器地址
portint3306数据库端口
databasestringopshub数据库名称
usernamestringroot数据库用户名
passwordstring-数据库密码
max_idle_connsint10连接池最大空闲连接数
max_open_connsint100连接池最大连接数
conn_max_lifetimeint3600连接最大生命周期(秒)

Redis 配置

配置项类型默认值说明
hoststring127.0.0.1Redis 服务器地址
portint6379Redis 端口
passwordstring""Redis 密码,无密码留空
dbint0Redis 数据库编号 (0-15)
pool_sizeint10连接池大小
min_idle_connint5最小空闲连接数

Log 日志配置

配置项类型默认值说明
levelstringinfo日志级别: debug, info, warn, error
filenamestringlogs/app.log日志文件路径
max_sizeint100单个日志文件最大大小 (MB)
max_backupsint10保留的历史日志文件数量
max_ageint30日志文件保留天数
compressbooltrue是否压缩历史日志文件
consolebooltrue是否同时输出到控制台

环境变量

部分配置支持通过环境变量覆盖:

环境变量对应配置说明
OPSHUB_DB_HOSTdatabase.host数据库地址
OPSHUB_DB_PORTdatabase.port数据库端口
OPSHUB_DB_USERdatabase.username数据库用户
OPSHUB_DB_PASSWORDdatabase.password数据库密码
OPSHUB_REDIS_HOSTredis.hostRedis 地址
OPSHUB_JWT_SECRETserver.jwt_secretJWT 密钥

生产环境建议

修改默认密钥

务必修改 jwt_secret,使用 openssl rand -base64 32 生成随机密钥

数据库安全

使用独立的数据库账号,仅授予必要权限,避免使用 root 账号

运行模式

生产环境设置 mode: release,关闭调试日志输出

日志配置

配置日志轮转,避免日志文件过大占用磁盘空间