StackRivet 从环境变量读取配置(带合理的本地默认值),因此同一个产物在每个环境都能跑。密钥留在环境里,绝不提交进代码仓库。
下面是最常设置的几组变量。本地常用模式:
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_PORT | Redis 连接 |
STACKRIVET_REDIS_USERNAME / STACKRIVET_REDIS_PASSWORD | Redis 认证(若设置) |
STACKRIVET_REDIS_DATABASE / STACKRIVET_REDIS_SSL | DB 索引 / TLS 开关 |
| 变量 | 用途 |
|---|
STACKRIVET_SECURITY_JWT_SECRET | Token 签名密钥——每个非本地环境都设强值 |
| 变量 | 用途 |
|---|
STACKRIVET_STORAGE_TYPE | local(默认)/ s3 / aliyun_oss |
STACKRIVET_S3_ENDPOINT / _REGION / _ACCESS_KEY / _SECRET_KEY | S3 兼容(MinIO、AWS S3) |
STACKRIVET_ALIYUN_OSS_ENDPOINT / _ACCESS_KEY / _SECRET_KEY | 阿里云 OSS |
它们注入 stackrivet.asset.* 块(storage-type、max-file-size、allowed-extensions、signed-url-ttl)。完整映射和 region 匹配注意事项见配置对象存储。
| 键 | 用途 |
|---|
stackrivet.scheduler.snailjob.enabled | 默认 false;设 true 激活可选的 SnailJob 适配器(Pro / Enterprise)。见任务。 |
| 变量 | 用途 |
|---|
STACKRIVET_PROFILE | Spring profile,如 dev 或 dev,otel(启用 OpenTelemetry profile) |
面向具体部署环境时,请把密钥保留在运行环境中,并在自己的运维手册中记录该环境选择的配置值。