d06b961a73
Apache ProxyPass targets host port 8069; update compose, CI, CORS defaults, deployment docs, and production .env files for https://sinbad2.ujaen.es/generadorexamenesllm/.
58 lines
2.0 KiB
Bash
58 lines
2.0 KiB
Bash
# --- Aplicación ---
|
|
APP_NAME=GenExamenes IA
|
|
ENVIRONMENT=production
|
|
|
|
# URL pública HTTPS (Apache termina TLS; contenedores en HTTP interno)
|
|
PUBLIC_BASE_URL=https://sinbad2.ujaen.es/generadorexamenesllm
|
|
|
|
# Hosts aceptados por TrustedHostMiddleware (sin esquema ni puerto)
|
|
TRUSTED_HOSTS=sinbad2.ujaen.es,localhost,127.0.0.1
|
|
|
|
# HSTS (segundos; 1 año por defecto)
|
|
SECURITY_HSTS_SECONDS=31536000
|
|
|
|
# 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 HTTPS del frontend; separados por coma) ---
|
|
ALLOWED_ORIGINS=https://sinbad2.ujaen.es,http://sinbad2.ujaen.es,http://sinbad2.ujaen.es:8069
|
|
|
|
# --- 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 (Sinbad2IA UJA — sin clave) ---
|
|
# URL base del servidor; el cliente llama a {LLM_BASE_URL}/api/chat
|
|
LLM_BASE_URL=
|
|
LLM_MODEL=qwen3.5:35b
|
|
LLM_TIMEOUT_SECONDS=180
|
|
# Opcional, solo si el servidor exige autenticación:
|
|
# LLM_API_KEY=
|