88 lines
2.8 KiB
Bash
88 lines
2.8 KiB
Bash
# 剧游 AI 后端环境变量示例。
|
|
# 使用方式:复制为 API/.env,再填写实际配置;API/.env 不应提交到 Git。
|
|
# 标记为“必填”的变量不能继续使用下方占位符,否则服务可能无法正常启动。
|
|
|
|
# 应用基础配置
|
|
APP_NAME=剧游AI API
|
|
APP_ENV=development
|
|
DEBUG=true
|
|
SERVER_ADDRESS=:8900
|
|
|
|
# PostgreSQL
|
|
# 若使用根目录 docker-compose.yml,请将这三项填写为 postgres 服务的实际配置。
|
|
DATABASE_HOST=localhost
|
|
DATABASE_PORT=25432
|
|
# 本地开发示例值,不要填写生产数据库凭据。
|
|
DATABASE_NAME=juyou_ai_prod
|
|
DATABASE_USER=juyou_ai_app
|
|
DATABASE_PASSWORD=replace-with-local-postgres-password
|
|
# 填写后将优先使用该连接串;留空时由上面的 PostgreSQL 参数自动拼接。
|
|
DATABASE_URL=
|
|
|
|
# Redis
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=26379
|
|
REDIS_PASSWORD=
|
|
REDIS_DB=0
|
|
|
|
# Asynq 使用独立 Redis DB
|
|
ASYNQ_REDIS_DB=1
|
|
|
|
# 前端构建产物
|
|
STATIC_DIRECTORY=static
|
|
|
|
# 可选:外部模型服务需要代理时配置
|
|
HTTP_PROXY=
|
|
HTTPS_PROXY=
|
|
NO_PROXY=localhost,127.0.0.1,::1,.myqcloud.com,cos.youjuhui.xyz
|
|
|
|
# JWT(必填:请替换为随机长字符串)
|
|
JWT_SECRET_KEY=replace-with-a-random-secret-at-least-32-characters
|
|
JWT_ALGORITHM=HS256
|
|
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=60
|
|
JWT_REFRESH_TOKEN_EXPIRE_HOURS=168
|
|
|
|
# 首次启动时仅在管理员表为空的情况下创建初始管理员;密码只用于初始化。
|
|
ADMIN_BOOTSTRAP_USERNAME=admin
|
|
ADMIN_BOOTSTRAP_PASSWORD=replace-with-a-strong-initial-password
|
|
|
|
# Argon2 密码哈希
|
|
ARGON2_TIME_COST=2
|
|
ARGON2_MEMORY_COST=19456
|
|
ARGON2_PARALLELISM=1
|
|
ARGON2_HASH_LENGTH=32
|
|
ARGON2_SALT_LENGTH=16
|
|
|
|
# 敏感配置加密(必填)。CONFIG_ENCRYPTION_KEY 必须是 32 字节随机值的标准 Base64 编码。
|
|
CONFIG_ENCRYPTION_KEY_VERSION=v1
|
|
CONFIG_ENCRYPTION_KEY=replace-with-base64-encoded-32-byte-key
|
|
|
|
# 腾讯云 COS(使用对象存储时必填)。密钥只配置在 API 服务端,不得暴露给前端。
|
|
COS_SECRET_ID=replace-with-tencent-secret-id
|
|
COS_SECRET_KEY=replace-with-tencent-secret-key
|
|
COS_BUCKET=replace-with-cos-bucket-name
|
|
COS_REGION=ap-chengdu
|
|
COS_ENDPOINT=https://cos.ap-chengdu.myqcloud.com
|
|
# 必填。视频反推与生成模型需要通过该域名读取参考图和抽帧。
|
|
COS_PUBLIC_BASE_URL=https://media.example.com
|
|
COS_MAX_IMAGE_SIZE_MB=20
|
|
COS_MAX_VIDEO_SIZE_MB=100
|
|
COS_MAX_AUDIO_SIZE_MB=30
|
|
|
|
# 持久任务与本地媒体处理。
|
|
AI_WORKER_CONCURRENCY=100
|
|
AI_POLL_INTERVAL_SECONDS=10
|
|
AI_HTTP_MAX_CONNECTIONS=200
|
|
FFMPEG_PATH=ffmpeg
|
|
FFPROBE_PATH=ffprobe
|
|
PYTHON_PATH=python3
|
|
ASR_SCRIPT_PATH=workers/transcribe.py
|
|
# 可填写模型目录;留空时由转写脚本使用 FASTER_WHISPER_MODEL_SIZE。
|
|
FASTER_WHISPER_MODEL_PATH=
|
|
FASTER_WHISPER_MODEL_SIZE=small
|
|
FASTER_WHISPER_DEVICE=cpu
|
|
FASTER_WHISPER_COMPUTE_TYPE=int8
|
|
|
|
# CORS(多个域名用逗号分隔)
|
|
CORS_ORIGINS=http://localhost:5500,http://localhost:5501
|