7bc27da33a
Upload documents for AI context, exam images for Moodle questions, per-template storage limits, embedded images in XML export, and GUIA_API_Y_FLUJO.md with full endpoint documentation.
47 lines
1.5 KiB
Bash
47 lines
1.5 KiB
Bash
# --- Aplicación ---
|
|
APP_NAME=GenExamenes IA
|
|
ENVIRONMENT=local
|
|
|
|
# Clave legacy (reservada; las rutas /exam usan JWT de usuario).
|
|
API_KEY=change-me-in-production-min-16-chars
|
|
|
|
# --- Base de datos (Docker: host "db") ---
|
|
DATABASE_URL=postgresql+psycopg://genexamenes:genexamenes@db:5432/genexamenes
|
|
|
|
# --- CORS (orígenes del frontend, separados por coma) ---
|
|
ALLOWED_ORIGINS=http://localhost:3000
|
|
|
|
# --- Rate limiting y tamaño de petición ---
|
|
RATE_LIMIT_REQUESTS=60
|
|
RATE_LIMIT_WINDOW_SECONDS=60
|
|
MAX_REQUEST_BYTES=25165824
|
|
|
|
# --- Materiales de contexto (PDF, DOCX, imágenes, etc.) ---
|
|
UPLOAD_DIR=/app/uploads
|
|
MAX_UPLOAD_BYTES=20971520
|
|
MAX_MATERIALS_PER_TEMPLATE=10
|
|
MAX_REFERENCE_CHARS=12000
|
|
|
|
# --- Imágenes de examen (preguntas visuales, sin extracción OCR) ---
|
|
MAX_IMAGE_BYTES=5242880
|
|
MAX_IMAGES_PER_TEMPLATE=20
|
|
|
|
# Cupo total por examen (materiales + imágenes). 50 MB por defecto.
|
|
MAX_STORAGE_BYTES_PER_TEMPLATE=52428800
|
|
|
|
# --- JWT (login email/contraseña y sesión tras Google) ---
|
|
JWT_SECRET_KEY=change-me-use-a-long-random-secret-key-at-least-32-chars
|
|
JWT_ALGORITHM=HS256
|
|
JWT_EXPIRE_MINUTES=1440
|
|
|
|
# --- Google Sign-In ---
|
|
# Client ID de OAuth 2.0 (tipo "Aplicación web") en Google Cloud Console.
|
|
# El frontend obtiene un id_token con Google Identity Services y lo envía a POST /auth/google.
|
|
GOOGLE_CLIENT_ID=123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
|
|
|
|
# --- LLM (OpenAI o compatible) ---
|
|
LLM_API_KEY=sk-your-openai-api-key
|
|
LLM_BASE_URL=https://api.openai.com/v1
|
|
LLM_MODEL=gpt-4o-mini
|
|
LLM_TIMEOUT_SECONDS=60
|