Files
20260512-skg-tk/deploy/.env.local.example

105 lines
3.6 KiB
Plaintext

# Local Docker only. Copy to deploy/.env.local or run scripts/start-local-docker.sh.
# Real production secrets stay in deploy/.env.production on the VPS.
# Local ports
LOCAL_WEB_PORT=4390
LOCAL_API_PORT=4391
# Local Postgres
POSTGRES_DB=skg_marketing_local
POSTGRES_USER=skg_marketing
POSTGRES_PASSWORD=skg_marketing_local_password
# Local password login for Docker smoke tests
PASSWORD_AUTH_ENABLED=true
WEB_AUTH_USERNAME=skg
WEB_AUTH_PASSWORD=local-skg
WEB_AUTH_SESSION_SECRET=local-docker-session-secret-change-me
WEB_AUTH_COOKIE_NAME=skg_marketing_local_session
WEB_AUTH_COOKIE_SECURE=false
AUTH_DATA_ISOLATION_ENABLED=true
# Feishu can be filled locally if OAuth needs to be tested from localhost.
FEISHU_APP_ID=
FEISHU_APP_SECRET=
FEISHU_REDIRECT_URI=http://localhost:4390/api/auth/feishu/callback
FEISHU_OAUTH_SCOPE=
FEISHU_ALLOWED_EMAIL_DOMAINS=
FEISHU_ALLOWED_EMAILS=
FEISHU_ALLOWED_TENANT_KEYS=
# SKG AI gateway. Leave blank when only testing UI/login/database locally.
LLM_BASE_URL=https://ai.skg.com/ezlink/v1
LLM_API_KEY=
IMAGE_BASE_URL=https://ai.skg.com/ezlink/v1
IMAGE_API_KEY=
IMAGE_MODEL=gpt-image-2
IMAGE_REQUEST_TIMEOUT_SECONDS=60
IMAGE_FALLBACK_ENABLED=true
IMAGE_FALLBACK_MODEL=gemini-3-pro-image-preview
IMAGE_FALLBACK_MODELS=gemini-3-pro-image-preview
IMAGE_EXTRA_MODELS=
# Optional JSON model overrides. Use api_key_env/base_url_env; do not put real keys in git.
# IMAGE_MODEL_CONFIGS_JSON={"custom-model":{"label":"Custom Image","base_url_env":"CUSTOM_IMAGE_BASE_URL","api_key_env":"CUSTOM_IMAGE_API_KEY","provider":"openai","sizes":["1024x1024"],"default_size":"1024x1024"}}
IMAGE_CIRCUIT_FAILURE_THRESHOLD=2
IMAGE_CIRCUIT_COOLDOWN_SECONDS=600
GPT_IMAGE_MODEL=gpt-image-2
SUBJECT_ASSET_IMAGE_MODEL=gpt-image-2
SUBJECT_ASSET_IMAGE_MODELS=gpt-image-2,gemini-3-pro-image-preview
ARK_SEEDREAM_ENABLED=true
ARK_IMAGE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
ARK_IMAGE_API_KEY=
ARK_SEEDREAM_IMAGE_MODEL=doubao-seedream-4-5-251128
AI_HTTP_PROXY=
# Text/vision/audio model names
GPT_TEXT_MODEL=gpt-4o
REWRITE_MODEL=gpt-4o-mini
REWRITE_MODEL_FALLBACKS=gemini-2.5-flash
VISION_MODEL=gpt-4o
TRANSLATE_MODEL=gemini-2.5-flash
ASR_BASE_URL=https://ai.skg.com/azure/v1
ASR_API_KEY=
ASR_MODEL=gpt-4o-transcribe
ASR_LANGUAGE=auto
ASR_REMOTE_ENABLED=false
ASR_LOCAL_FALLBACK_ENABLED=true
ASR_AUDIO_FALLBACK_ENABLED=false
ASR_FALLBACK_MODEL=gemini-2.5-flash
ASR_TIMEOUT_SECONDS=45
FASTER_WHISPER_MODEL=tiny
FASTER_WHISPER_DEVICE=cpu
FASTER_WHISPER_COMPUTE_TYPE=int8
# Video generation. Fill VIDEO_API_KEY only when testing real video generation locally.
VIDEO_API_BASE_URL=https://ai.skg.com/doubao
VIDEO_API_KEY=
VIDEO_MODEL=seedance
VIDEO_MODEL_SEEDANCE=doubao-seedance-2-0-fast-260128
VIDEO_MODEL_XAI=grok-imagine-video
VIDEO_CREATE_PATHS=/api/v3/contents/generations/tasks
VIDEO_STATUS_PATH=/api/v3/contents/generations/tasks/{id}
VIDEO_CONTENT_PATH=/api/v3/contents/generations/tasks/{id}/content
VIDEO_DURATION_FIELD=seconds
VIDEO_POLL_TIMEOUT_SECONDS=900
XAI_VIDEO_API_BASE_URL=https://ai.skg.com/ezlink/xai
XAI_VIDEO_API_KEY=
XAI_VIDEO_CREATE_PATH=/v1/videos/generations
XAI_VIDEO_STATUS_PATH=/v1/videos/{id}
XAI_VIDEO_CONTENT_PATH=
# Azure OpenAI TTS. Leave blank unless testing voice locally.
AUDIO_REWRITE_MODEL=gemini-2.5-pro
VOICE_PROVIDER=azure_openai
AZURE_OPENAI_BASE_URL=https://ai.skg.com/azure
AZURE_OPENAI_API_KEY=
AZURE_TTS_MODEL=gpt-4o-mini-tts
AZURE_TTS_VOICE_ID=alloy
AZURE_TTS_VOICE_POOL=alloy,verse,shimmer
AZURE_TTS_PATH=/audio/speech
AZURE_TTS_PATHS=/audio/speech,/v1/audio/speech
# Optional TikTok cookies. Keep files local and out of git.
YTDLP_COOKIES_FILE=
YTDLP_COOKIES_FROM_BROWSER=