133 lines
5.0 KiB
Plaintext
133 lines
5.0 KiB
Plaintext
# 复制到 /etc/genarrative/api-server.env 后再填入真实生产值。
|
||
# 该文件只能保存在生产服务器,不进入构建产物,不提交真实密钥。
|
||
|
||
GENARRATIVE_ENV=production
|
||
GENARRATIVE_API_HOST=127.0.0.1
|
||
GENARRATIVE_API_PORT=8082
|
||
GENARRATIVE_API_LOG=info,tower_http=info
|
||
GENARRATIVE_API_LISTEN_BACKLOG=1024
|
||
GENARRATIVE_API_WORKER_THREADS=4
|
||
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_OTEL_ENABLED=true
|
||
OTEL_SERVICE_NAME=genarrative-api
|
||
OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318
|
||
OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production,service.namespace=genarrative
|
||
|
||
GENARRATIVE_ADMIN_USERNAME=
|
||
GENARRATIVE_ADMIN_PASSWORD=
|
||
GENARRATIVE_ADMIN_TOKEN_TTL_SECONDS=14400
|
||
GENARRATIVE_INTERNAL_API_SECRET=CHANGE_ME_FOR_PRODUCTION
|
||
|
||
GENARRATIVE_JWT_ISSUER=genarrative-production
|
||
GENARRATIVE_JWT_SECRET=CHANGE_ME_FOR_PRODUCTION
|
||
GENARRATIVE_JWT_ACCESS_TOKEN_TTL_SECONDS=7200
|
||
AUTH_REFRESH_COOKIE_NAME=genarrative_refresh_session
|
||
AUTH_REFRESH_SESSION_TTL_DAYS=30
|
||
AUTH_REFRESH_COOKIE_PATH=/api/auth
|
||
AUTH_REFRESH_COOKIE_SAME_SITE=Lax
|
||
AUTH_REFRESH_COOKIE_SECURE=true
|
||
GENARRATIVE_DEV_PASSWORD_ENTRY_AUTO_REGISTER_ENABLED=false
|
||
|
||
GENARRATIVE_SPACETIME_SERVER_URL=http://127.0.0.1:3101
|
||
GENARRATIVE_SPACETIME_DATABASE=genarrative-prod
|
||
GENARRATIVE_SPACETIME_TOKEN=
|
||
GENARRATIVE_SPACETIME_POOL_SIZE=8
|
||
GENARRATIVE_SPACETIME_PROCEDURE_TIMEOUT_SECONDS=45
|
||
|
||
GENARRATIVE_LLM_PROVIDER=openai-compatible
|
||
GENARRATIVE_LLM_BASE_URL=
|
||
GENARRATIVE_LLM_API_KEY=
|
||
GENARRATIVE_LLM_MODEL=
|
||
GENARRATIVE_RPG_LLM_WEB_SEARCH_ENABLED=false
|
||
GENARRATIVE_CREATION_AGENT_LLM_WEB_SEARCH_ENABLED=false
|
||
|
||
APIMART_BASE_URL=
|
||
APIMART_API_KEY=
|
||
APIMART_IMAGE_REQUEST_TIMEOUT_MS=180000
|
||
|
||
VECTOR_ENGINE_BASE_URL=https://api.vectorengine.cn
|
||
VECTOR_ENGINE_API_KEY=
|
||
VECTOR_ENGINE_IMAGE_REQUEST_TIMEOUT_MS=1000000
|
||
VECTOR_ENGINE_AUDIO_REQUEST_TIMEOUT_MS=180000
|
||
|
||
HYPER3D_BASE_URL=https://api.hyper3d.com/api/v2
|
||
HYPER3D_API_KEY=
|
||
HYPER3D_MODEL_REQUEST_TIMEOUT_MS=180000
|
||
|
||
VOLCENGINE_SPEECH_API_KEY=
|
||
VOLCENGINE_SPEECH_APP_ID=
|
||
VOLCENGINE_SPEECH_ACCESS_KEY=
|
||
VOLCENGINE_SPEECH_ASR_RESOURCE_ID=volc.seedasr.sauc.concurrent
|
||
VOLCENGINE_SPEECH_TTS_RESOURCE_ID=seed-tts-2.0
|
||
VOLCENGINE_SPEECH_REQUEST_TIMEOUT_MS=180000
|
||
VOLCENGINE_SPEECH_ASR_WS_URL=wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async
|
||
VOLCENGINE_SPEECH_TTS_BIDIRECTION_WS_URL=wss://openspeech.bytedance.com/api/v3/tts/bidirection
|
||
VOLCENGINE_SPEECH_TTS_SSE_URL=https://openspeech.bytedance.com/api/v3/tts/unidirectional/sse
|
||
|
||
ARK_CHARACTER_VIDEO_BASE_URL=
|
||
ARK_CHARACTER_VIDEO_API_KEY=
|
||
ARK_CHARACTER_VIDEO_MODEL=
|
||
ARK_CHARACTER_VIDEO_REQUEST_TIMEOUT_MS=420000
|
||
|
||
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/api/v1
|
||
DASHSCOPE_API_KEY=
|
||
DASHSCOPE_SCENE_IMAGE_MODEL=
|
||
DASHSCOPE_REFERENCE_IMAGE_MODEL=
|
||
DASHSCOPE_COVER_IMAGE_MODEL=
|
||
DASHSCOPE_IMAGE_REQUEST_TIMEOUT_MS=150000
|
||
DASHSCOPE_CHARACTER_VISUAL_MODEL=
|
||
DASHSCOPE_CHARACTER_IMAGE_SEQUENCE_MODEL=
|
||
DASHSCOPE_CHARACTER_REFERENCE_VIDEO_MODEL=
|
||
DASHSCOPE_CHARACTER_MOTION_TRANSFER_MODEL=
|
||
DASHSCOPE_CHARACTER_VIDEO_REQUEST_TIMEOUT_MS=420000
|
||
|
||
SMS_AUTH_ENABLED=false
|
||
SMS_AUTH_PROVIDER=aliyun
|
||
ALIYUN_SMS_ACCESS_KEY_ID=
|
||
ALIYUN_SMS_ACCESS_KEY_SECRET=
|
||
ALIYUN_SMS_ENDPOINT=dysmsapi.aliyuncs.com
|
||
ALIYUN_SMS_SIGN_NAME=北京亓盒网络科技
|
||
ALIYUN_SMS_TEMPLATE_CODE=SMS_506245486
|
||
ALIYUN_SMS_TEMPLATE_PARAM_KEY=code
|
||
ALIYUN_SMS_COUNTRY_CODE=86
|
||
|
||
WECHAT_AUTH_ENABLED=false
|
||
WECHAT_AUTH_PROVIDER=real
|
||
WECHAT_APP_ID=
|
||
WECHAT_APP_SECRET=
|
||
WECHAT_CALLBACK_PATH=/api/auth/wechat/callback
|
||
WECHAT_REDIRECT_PATH=/
|
||
WECHAT_AUTHORIZE_ENDPOINT=https://open.weixin.qq.com/connect/qrconnect
|
||
WECHAT_ACCESS_TOKEN_ENDPOINT=https://api.weixin.qq.com/sns/oauth2/access_token
|
||
WECHAT_USER_INFO_ENDPOINT=https://api.weixin.qq.com/sns/userinfo
|
||
WECHAT_STATE_TTL_MINUTES=15
|
||
|
||
ALIYUN_OSS_BUCKET=
|
||
ALIYUN_OSS_ENDPOINT=oss-cn-shanghai.aliyuncs.com
|
||
ALIYUN_OSS_ACCESS_KEY_ID=
|
||
ALIYUN_OSS_ACCESS_KEY_SECRET=
|
||
ALIYUN_OSS_READ_EXPIRE_SECONDS=600
|
||
ALIYUN_OSS_POST_EXPIRE_SECONDS=600
|
||
ALIYUN_OSS_POST_MAX_SIZE_BYTES=20971520
|
||
ALIYUN_OSS_SUCCESS_ACTION_STATUS=200
|
||
|
||
# SpacetimeDB 数据目录 OSS 冷备份配置。可由 cron / Jenkins 调用发布包内 scripts/database-backup-to-oss.mjs。
|
||
GENARRATIVE_DATABASE_BACKUP_DATA_DIR=/stdb
|
||
GENARRATIVE_DATABASE_BACKUP_WORK_DIR=/var/lib/genarrative/database-backups
|
||
GENARRATIVE_DATABASE_BACKUP_OSS_BUCKET=
|
||
GENARRATIVE_DATABASE_BACKUP_OSS_ENDPOINT=oss-cn-shanghai.aliyuncs.com
|
||
GENARRATIVE_DATABASE_BACKUP_OSS_PREFIX=database-backups
|
||
GENARRATIVE_DATABASE_BACKUP_KEEP_LOCAL=false
|
||
# 可选:定时 / publish 前备份使用独立最小权限 AccessKey;为空时回退 ALIYUN_OSS_ACCESS_KEY_*。
|
||
GENARRATIVE_DATABASE_BACKUP_OSS_ACCESS_KEY_ID=
|
||
GENARRATIVE_DATABASE_BACKUP_OSS_ACCESS_KEY_SECRET=
|
||
GENARRATIVE_DATABASE_BACKUP_STOP_SERVICE=spacetimedb.service
|