f5aa50a68b
代码默认已改 180s(14a5cde9d,适配 2K 图),但 env.example 与 deploy/provision 脚本仍写 45000,会被注入生产 env 覆盖默认值,2K BgFilter 仍可能超时。 - 两份 api-server.env.example: 45000 -> 180000 - deploy/provision 脚本改用 ensure_env_value_migrates_old_default, 把存量机器的旧默认 45000 迁移到 180000(key 缺失则直接写 180000) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
62 lines
2.8 KiB
Bash
62 lines
2.8 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
|
|
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_GALLERY_MAX_CONCURRENT_REQUESTS=320
|
|
GENARRATIVE_API_DETAIL_MAX_CONCURRENT_REQUESTS=64
|
|
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_EDITOR_BGFILTER_REQUEST_TIMEOUT_MS=180000
|
|
GENARRATIVE_EDITOR_BGFILTER_CIRCUIT_FAILURE_THRESHOLD=3
|
|
GENARRATIVE_EDITOR_BGFILTER_CIRCUIT_COOLDOWN_SECONDS=300
|
|
|
|
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=
|
|
GENARRATIVE_SPACETIME_POOL_SIZE=8
|
|
GENARRATIVE_SPACETIME_PROCEDURE_TIMEOUT_SECONDS=45
|
|
|
|
GENARRATIVE_LLM_PROVIDER=openai-compatible
|
|
GENARRATIVE_LLM_BASE_URL=https://api.vectorengine.cn/v1
|
|
GENARRATIVE_LLM_API_KEY=
|
|
GENARRATIVE_LLM_MODEL=gpt-5.4-mini
|
|
WECHAT_MINIPROGRAM_MESSAGE_TOKEN=
|
|
WECHAT_MINIPROGRAM_MESSAGE_ENCODING_AES_KEY=
|