a3967c6829
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 6s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 10s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m6s
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Failing after 28m22s
1. Remove unused aiosmtplib dependency from requirements.txt
2. Remove 5 unused config items (API_PREFIX, REDIS_MAX_CONNECTION,
JWT_SECRET_KEY_OLD, SECRET_ROTATION_DAYS, LOG_LEVEL) from config.py,
.env.production.example, and init_production_env.sh.
Kept ENABLE_REDIS_SESSIONS (actively used in dependencies.py).
3. Fix project permission check TODOs in test_error_scenarios.py —
permissions are implemented, updated assertions to expect 403.
4. Merge two Storage implementations into shared package:
- packages/shared/storage.py: merged API features (HTTPS endpoint
fix, diagnose(), detailed logging) into SharedStorageService
- apps/api/app/core/storage.py: thin re-export wrapper for
backward compatibility
- Updated test mocks to target packages.shared.storage
67 lines
2.7 KiB
Bash
Executable File
67 lines
2.7 KiB
Bash
Executable File
# 生产环境配置模板(实际使用时复制为 .env.production)
|
||
|
||
# ==================== 基础配置 ====================
|
||
APP_ENV=production
|
||
ENVIRONMENT=production
|
||
DEBUG=false
|
||
USE_IN_MEMORY_DB=false
|
||
|
||
# ==================== 数据库(必须修改)====================
|
||
DATABASE_URL=postgresql://prod_user:CHANGE_THIS_PASSWORD@db-prod:5432/xiaoxia_prod
|
||
|
||
# ==================== Redis(必须修改)====================
|
||
REDIS_URL=redis://:CHANGE_THIS_PASSWORD@redis-prod:6379/0
|
||
ENABLE_REDIS_SESSIONS=false
|
||
|
||
# ==================== JWT(必须修改,至少 32 字符)====================
|
||
JWT_SECRET_KEY=CHANGE_THIS_TO_A_RANDOM_SECRET_KEY_AT_LEAST_32_CHARS
|
||
|
||
# ==================== 邮件(必须配置)====================
|
||
ENABLE_EMAIL_DELIVERY=false
|
||
SMTP_HOST=smtp.gmail.com
|
||
SMTP_PORT=587
|
||
SMTP_USER=CHANGE_ME_SMTP_USER
|
||
SMTP_PASSWORD=CHANGE_ME_SMTP_PASSWORD
|
||
SMTP_FROM_EMAIL=noreply@yourdomain.com
|
||
SMTP_FROM_NAME=小虾 SaaS
|
||
SMTP_USE_TLS=true
|
||
|
||
# ==================== 应用配置 ====================
|
||
APP_BASE_URL=https://yourdomain.com
|
||
|
||
# ==================== CORS(修改为实际域名,逗号分隔)====================
|
||
CORS_ORIGINS_RAW=https://yourdomain.com,https://app.yourdomain.com
|
||
|
||
# ==================== 阿里云 OSS(必须配置)====================
|
||
OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
|
||
OSS_ACCESS_KEY_ID=CHANGE_ME_ACCESS_KEY_ID
|
||
OSS_ACCESS_KEY_SECRET=CHANGE_ME_ACCESS_KEY_SECRET
|
||
OSS_BUCKET_NAME=xiaoxia-autocut
|
||
OSS_DIRECT_UPLOAD_MAX_MB=2000
|
||
OSS_DIRECT_UPLOAD_EXPIRE_SECONDS=900
|
||
|
||
# ==================== CosyVoice 语音合成(必须配置)====================
|
||
# 注意:base_url 只需写到 /api/v1,具体路径由代码拼接
|
||
# 模型: cosyvoice-v3-flash (推荐,支持系统音色,性价比高)
|
||
# cosyvoice-v3-plus (高质量,系统音色少)
|
||
# cosyvoice-v3.5-flash / cosyvoice-v3.5-plus (仅支持克隆/设计音色,无系统音色)
|
||
# 音色: v3系列系统音色带 _v3 后缀,如 longxiaochun_v3, longxiaoxia_v3, longanyang (无后缀)
|
||
COSYVOICE_API_KEY=CHANGE_ME_COSYVOICE_API_KEY
|
||
COSYVOICE_BASE_URL=https://dashscope.aliyuncs.com/api/v1
|
||
COSYVOICE_MODEL=cosyvoice-v3-flash
|
||
COSYVOICE_VOICE=longxiaochun_v3
|
||
COSYVOICE_SAMPLE_RATE=22050
|
||
COSYVOICE_FORMAT=mp3
|
||
|
||
# ==================== 生成文件 ====================
|
||
GENERATED_FILES_DIR=/app/generated
|
||
GENERATED_FILES_URL_PREFIX=/generated-files
|
||
PUBLIC_API_BASE_URL=https://api.xiaoxiajianji.com
|
||
|
||
# ==================== Celery ====================
|
||
CELERY_BROKER_URL=redis://:CHANGE_THIS_PASSWORD@redis-prod:6379/0
|
||
CELERY_RESULT_BACKEND=redis://:CHANGE_THIS_PASSWORD@redis-prod:6379/1
|
||
|
||
# ==================== 监控(可选)====================
|
||
# SENTRY_DSN=https://your-sentry-dsn@sentry.io/project-id
|