跳转到内容

配置

StackRivet 从环境变量读取配置(带合理的本地默认值),因此同一个产物在每个环境都能跑。密钥留在环境里,绝不提交进代码仓库

下面是最常设置的几组变量。本地常用模式:

Terminal window
set -a && source .env && set +a # 一次性加载下面所有变量
变量用途示例
STACKRIVET_DB_VENDOR方言mysql(默认)/ postgresql
STACKRIVET_DB_HOST主机localhost
STACKRIVET_DB_NAME库名stackrivet
STACKRIVET_DB_USER用户
STACKRIVET_DB_PASSWORD密码(仅环境)

Redis 支撑 JWT 吊销和健康检查,因此必须配置:

变量用途
STACKRIVET_REDIS_HOST / STACKRIVET_REDIS_PORTRedis 连接
STACKRIVET_REDIS_USERNAME / STACKRIVET_REDIS_PASSWORDRedis 认证(若设置)
STACKRIVET_REDIS_DATABASE / STACKRIVET_REDIS_SSLDB 索引 / TLS 开关
变量用途
STACKRIVET_SECURITY_JWT_SECRETToken 签名密钥——每个非本地环境都设强值
变量用途
STACKRIVET_STORAGE_TYPElocal(默认)/ s3 / aliyun_oss
STACKRIVET_S3_ENDPOINT / _REGION / _ACCESS_KEY / _SECRET_KEYS3 兼容(MinIO、AWS S3)
STACKRIVET_ALIYUN_OSS_ENDPOINT / _ACCESS_KEY / _SECRET_KEY阿里云 OSS

它们注入 stackrivet.asset.* 块(storage-typemax-file-sizeallowed-extensionssigned-url-ttl)。完整映射和 region 匹配注意事项见配置对象存储

用途
stackrivet.scheduler.snailjob.enabled默认 false;设 true 激活可选的 SnailJob 适配器(Pro / Enterprise)。见任务
变量用途
STACKRIVET_PROFILESpring profile,如 devdev,otel(启用 OpenTelemetry profile)

面向具体部署环境时,请把密钥保留在运行环境中,并在自己的运维手册中记录该环境选择的配置值。