跳转到内容

配置

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

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

Terminal window
set -a && source .env && set +a # 一次性加载下面所有变量
变量用途示例
STACKRIVET_DB_VENDOR方言mysql(默认)/ postgresql
SPRING_DATASOURCE_URL通用部署的完整 JDBC URLjdbc:mysql://db:3306/stackrivet?...
SPRING_DATASOURCE_USERNAME / SPRING_DATASOURCE_PASSWORD数据库用户 / 密码(仅环境)
STACKRIVET_DB_HOST / _PORT / _NAME / _USER / _PASSWORD内置 devdev-postgresaliyun profile 使用localhost

STACKRIVET_DB_VENDOR 会选择 Flyway 的数据库方言目录。即使你提供完整 SPRING_DATASOURCE_URL,也应设置它。

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_SECURITY_JWT_ACCESS_TOKEN_TTL / _REFRESH_TOKEN_TTL可选 token TTL 覆盖

生产级 profile(prodproductionstagingaliyun)会拒绝开发默认 secret 和种子 admin 密码。

变量用途默认
STACKRIVET_PORT应用 API 端口8080
STACKRIVET_MANAGEMENT_PORTActuator 管理端口9090
STACKRIVET_MANAGEMENT_ADDRESS管理端口绑定地址127.0.0.1
变量用途
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)

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