# ======================================== # OpenCCB Environment Configuration # Producción - AWS EC2 # ======================================== # ---------------------------------------- # Database Configuration (Docker) # Las URLs usan 'db' como hostname (contenedor PostgreSQL) # Puerto interno de Docker: 5432 # ---------------------------------------- DB_PASSWORD=CHANGE_ME_GENERATE_SECURE_PASSWORD CMS_DATABASE_URL=postgresql://user:CHANGE_ME_GENERATE_SECURE_PASSWORD@db:5432/openccb_cms LMS_DATABASE_URL=postgresql://user:CHANGE_ME_GENERATE_SECURE_PASSWORD@db:5432/openccb_lms DATABASE_URL=postgresql://user:CHANGE_ME_GENERATE_SECURE_PASSWORD@db:5432/openccb_cms # ---------------------------------------- # JWT Secret (64 caracteres mínimo) # ---------------------------------------- JWT_SECRET=CHANGE_ME_GENERATE_SECURE_SECRET # ---------------------------------------- # Logging # ---------------------------------------- RUST_LOG=info # ---------------------------------------- # Environment # ---------------------------------------- ENVIRONMENT=prod # ---------------------------------------- # AI Configuration # ---------------------------------------- AI_PROVIDER=local OPENAI_API_KEY= # Local AI (Ollama & Whisper) LOCAL_WHISPER_URL=http://t-800.norteamericano.cl:9000 LOCAL_OLLAMA_URL=http://t-800.norteamericano.cl:11434 # Model Configuration LOCAL_LLM_MODEL=llama3.2:3b LOCAL_LLM_MODEL_COMPLEX=qwen3.5:9b LOCAL_LLM_MODEL_ADVANCED=gpt-oss:latest # Embeddings EMBEDDING_MODEL=nomic-embed-text # Audio transcription (Whisper) WHISPER_MODEL=whisper-large-v3 # ---------------------------------------- # External Database Integration (SAM) # ---------------------------------------- MYSQL_DATABASE_URL=mysql://db_user:db_password@host:3306/database_name SAM_DIAGNOSTICO_DATABASE_URL=mysql://db_user:db_password@host:3306/SAM_diagnostico EXTERNAL_TABLE_GRADES=notas EXTERNAL_ID_TIPO_NOTA=1 # ---------------------------------------- # AWS S3 Configuration (audio storage) # Bucket: openccb-802726101181-us-east-2-an # ---------------------------------------- ASSETS_STORAGE=s3 AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_REGION=us-east-2 S3_BUCKET=openccb-802726101181-us-east-2-an S3_ENDPOINT= S3_PUBLIC_BASE_URL= S3_FORCE_PATH_STYLE=false # ---------------------------------------- # Mercado Pago Configuration # ---------------------------------------- MP_ACCESS_TOKEN= MP_PUBLIC_KEY= MP_WEBHOOK_SECRET= MP_BACK_URL_SUCCESS=https://${NEXT_PUBLIC_LEARNING_DOMAIN}/payments/success MP_BACK_URL_FAILURE=https://${NEXT_PUBLIC_LEARNING_DOMAIN}/payments/failure MP_NOTIFICATION_URL= # ---------------------------------------- # Branding Defaults # ---------------------------------------- DEFAULT_ORG_NAME="Norteamericano" DEFAULT_PLATFORM_NAME="Norteamericano Learning" DEFAULT_LOGO_URL="" DEFAULT_FAVICON_URL="" DEFAULT_PRIMARY_COLOR="#3B82F6" DEFAULT_SECONDARY_COLOR="#8B5CF6" # ---------------------------------------- # Let's Encrypt Configuration # true = Staging (certificados de prueba) # false = Production (certificados reales) # ---------------------------------------- LETSENCRYPT_STAGING=true # Email para notificaciones SSL de Let's Encrypt (requerido) ACME_EMAIL=your-email@example.com # Email para notificaciones de Let's Encrypt (renovación, errores) ACME_EMAIL=admin@example.com # ---------------------------------------- # Frontend URLs (para producción con SSL) # Dominios configurables - cambiar aquí para mover a otro dominio # ---------------------------------------- NEXT_PUBLIC_STUDIO_DOMAIN=studio.norteamericano.com NEXT_PUBLIC_LEARNING_DOMAIN=learning.norteamericano.com NEXT_PUBLIC_CMS_API_URL=https://studio.norteamericano.com NEXT_PUBLIC_LMS_API_URL=https://learning.norteamericano.com ZIP_IMPORT_MAX_UPLOAD_BYTES=4294967296 ZIP_IMPORT_MAX_ENTRY_BYTES=1073741824 ZIP_IMPORT_MAX_TOTAL_BYTES=17179869184