ff38eb0308
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m38s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m4s
Project CI / Backend tests (pull_request) Successful in 5m5s
Project CI / Native shell tests (pull_request) Successful in 6m21s
Project CI / Frontend tests (pull_request) Successful in 2m20s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m11s
Project CI / Repository checks (pull_request) Failing after 1m42s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m13s
Project CI / AI game creator shell web tests (pull_request) Failing after 1m29s
# Conflicts: # docs/project-memory/shared-memory/decision-log.md # docs/project-memory/shared-memory/pitfalls.md
86 lines
4.4 KiB
Bash
86 lines
4.4 KiB
Bash
# 复制为 deploy/container/api-server.env 后填入本机或预发值。
|
||
# 该文件只用于容器隔离方案,不参与 systemd/Jenkins 生产部署。
|
||
# 不要在这里写真实 token 后提交 Git。
|
||
|
||
GENARRATIVE_ENV=container
|
||
GENARRATIVE_API_HOST=0.0.0.0
|
||
GENARRATIVE_API_PORT=8082
|
||
# 官网客户端下载与客户端埋点共用部署渠道;修改后重启 API Server。
|
||
# dev 对应 https://dev.genarrative.world;container + dev 额外允许 loopback 地址及可变映射端口。
|
||
# release 对应 https://www.genarrative.world,且不接受 loopback 地址;其它渠道不接收埋点。
|
||
GENARRATIVE_CLIENT_DOWNLOAD_CHANNEL=dev
|
||
GENARRATIVE_API_LOG=info,tower_http=info
|
||
GENARRATIVE_API_LISTEN_BACKLOG=1024
|
||
GENARRATIVE_API_WORKER_THREADS=4
|
||
# 容器 smoke 可临时设 all;压测或预发按 api / external-generation-worker 拆进程。
|
||
GENARRATIVE_PROCESS_ROLE=api
|
||
# 默认 queue 进入 external_generation_job;本地/小流量同步排查可显式设 inline。
|
||
GENARRATIVE_EXTERNAL_GENERATION_MODE=queue
|
||
GENARRATIVE_EXTERNAL_GENERATION_WORKER_ID=
|
||
GENARRATIVE_EXTERNAL_GENERATION_WORKER_CONCURRENCY=2
|
||
GENARRATIVE_EXTERNAL_GENERATION_WORKER_POLL_INTERVAL_MS=2000
|
||
GENARRATIVE_EXTERNAL_GENERATION_WORKER_LEASE_SECONDS=600
|
||
GENARRATIVE_EXTERNAL_GENERATION_WORKER_JOB_TIMEOUT_SECONDS=900
|
||
GENARRATIVE_EXTERNAL_GENERATION_WORKER_LONG_JOB_TIMEOUT_SECONDS=1800
|
||
GENARRATIVE_API_MAX_CONCURRENT_REQUESTS=512
|
||
GENARRATIVE_API_ADMIN_MAX_CONCURRENT_REQUESTS=16
|
||
GENARRATIVE_TRACKING_OUTBOX_ENABLED=true
|
||
GENARRATIVE_TRACKING_OUTBOX_DIR=/var/lib/genarrative/tracking-outbox
|
||
GENARRATIVE_TRACKING_OUTBOX_BATCH_SIZE=500
|
||
GENARRATIVE_TRACKING_OUTBOX_FLUSH_INTERVAL_MS=1000
|
||
GENARRATIVE_TRACKING_OUTBOX_MAX_BYTES=268435456
|
||
GENARRATIVE_WALLET_REFUND_OUTBOX_ENABLED=true
|
||
GENARRATIVE_WALLET_REFUND_OUTBOX_DIR=/var/lib/genarrative/wallet-refund-outbox
|
||
GENARRATIVE_WALLET_REFUND_OUTBOX_BATCH_SIZE=100
|
||
GENARRATIVE_WALLET_REFUND_OUTBOX_FLUSH_INTERVAL_MS=1000
|
||
GENARRATIVE_WALLET_REFUND_OUTBOX_MAX_BYTES=67108864
|
||
GENARRATIVE_BGFILTER_WORKER_CONCURRENCY=16
|
||
GENARRATIVE_EDITOR_BGFILTER_SINGLE_IMAGE_ESTIMATE_MS=5000
|
||
GENARRATIVE_EDITOR_BGFILTER_CIRCUIT_FAILURE_THRESHOLD=3
|
||
GENARRATIVE_EDITOR_BGFILTER_CIRCUIT_COOLDOWN_SECONDS=120
|
||
# BgFilter 失败后的中间兜底:阿里云通用抠图(SegmentCommonImage)。AccessKey 留空则跳过该层,
|
||
# BgFilter 失败直接本地 editor_green_screen 去背;填入后恢复 BgFilter→阿里云→本地三级兜底。
|
||
# AccessKey 也可复用标准 SDK 命名 ALIBABA_CLOUD_ACCESS_KEY_ID / ALIBABA_CLOUD_ACCESS_KEY_SECRET。
|
||
GENARRATIVE_ALIYUN_MATTING_ENABLED=true
|
||
GENARRATIVE_ALIYUN_MATTING_ENDPOINT=imageseg.cn-shanghai.aliyuncs.com
|
||
GENARRATIVE_ALIYUN_MATTING_ACCESS_KEY_ID=
|
||
GENARRATIVE_ALIYUN_MATTING_ACCESS_KEY_SECRET=
|
||
GENARRATIVE_ALIYUN_MATTING_REQUEST_TIMEOUT_MS=30000
|
||
|
||
# Tripo 3D 生成:网关与密钥没有内置默认值,会提交 / 执行 3D job 的角色
|
||
#(api / external-generation-worker / all)缺任意一项就拒绝启动。
|
||
# 下面的占位值只用于容器压测与 Jenkins 分支预览这类不跑真实 3D 请求的环境;
|
||
# 要真实跑 3D 必须换成真凭据,否则进程能起、3D 提交会在请求期 503。
|
||
TRIPO_BASE_URL=https://openapi.tripo3d.com/v3
|
||
TRIPO_API_KEY=CHANGE_ME_FOR_CONTAINER
|
||
TRIPO_REQUEST_TIMEOUT_MS=60000
|
||
TRIPO_RETRIES=2
|
||
|
||
GENARRATIVE_OTEL_ENABLED=true
|
||
OTEL_SERVICE_NAME=genarrative-api
|
||
OTEL_EXPORTER_OTLP_ENDPOINT=http://otelcol:4318
|
||
OTEL_RESOURCE_ATTRIBUTES=deployment.environment=container,service.namespace=genarrative
|
||
|
||
GENARRATIVE_INTERNAL_API_SECRET=CHANGE_ME_FOR_CONTAINER
|
||
GENARRATIVE_JWT_ISSUER=genarrative-container
|
||
GENARRATIVE_JWT_SECRET=CHANGE_ME_FOR_CONTAINER
|
||
AUTH_REFRESH_COOKIE_SECURE=false
|
||
|
||
# 默认连接 compose 内部 SpacetimeDB;宿主机发布模块使用 127.0.0.1:13101。
|
||
GENARRATIVE_SPACETIME_SERVER_URL=http://spacetimedb:3101
|
||
GENARRATIVE_SPACETIME_DATABASE=genarrative-loadtest
|
||
GENARRATIVE_SPACETIME_TOKEN=
|
||
# HTTP 角色使用 8 条无 read-model 订阅的调用连接,并额外创建 1 条共享缓存读连接。
|
||
GENARRATIVE_SPACETIME_POOL_SIZE=8
|
||
GENARRATIVE_SPACETIME_PROCEDURE_TIMEOUT_SECONDS=45
|
||
|
||
GENARRATIVE_LLM_PROVIDER=openai-compatible
|
||
GENARRATIVE_LLM_BASE_URL=https://api.tiantoken.com/v1
|
||
GENARRATIVE_LLM_API_KEY=
|
||
GENARRATIVE_LLM_MODEL=gpt-5.4-mini
|
||
WECHAT_MINIPROGRAM_MESSAGE_TOKEN=
|
||
WECHAT_MINIPROGRAM_MESSAGE_ENCODING_AES_KEY=
|
||
|
||
# 游戏发行入口固定为平台同源路径 /games/{gameId}/:审核通过时由 api-server 自己派生,
|
||
# 不需要部署侧配置发行域名或通配证书。
|