Variables de Entorno
Tabla consolidada de todas las variables de entorno del ecosistema GDI, agrupadas por servicio.
GDI-Backend (:8000)
| Variable |
Descripcion |
Requerida |
Ejemplo |
DATABASE_URL |
Connection string PostgreSQL |
Si |
postgresql://user:pass@host:port/db |
AUTH0_DOMAIN |
Dominio Auth0 |
Si |
tu-tenant.us.auth0.com |
AUTH0_AUDIENCE |
Audience Auth0 |
Si |
https://api.tu-dominio.com |
PDFCOMPOSER_URL |
URL de GDI-PDFComposer |
Si |
http://pdfcomposer:8002 |
PDFCOMPOSER_API_KEY |
API Key para PDFComposer |
Si |
(secreto) |
NOTARY_URL |
URL de GDI-Notary |
Si |
http://notary:8001 |
NOTARY_API_KEY |
API Key para Notary |
Si |
(secreto) |
R2_ACCOUNT_ID |
Cloudflare Account ID |
Si |
(secreto) |
R2_ACCESS_KEY_ID |
Cloudflare R2 Access Key |
Si |
(secreto) |
R2_SECRET_ACCESS_KEY |
Cloudflare R2 Secret Key |
Si |
(secreto) |
R2_ENDPOINT |
Endpoint R2 S3-compatible |
Si |
https://ACCOUNT_ID.r2.cloudflarestorage.com |
FRONTEND_URL |
URL del frontend (CORS) |
No |
https://tu-frontend.tu-dominio.com |
TESTING_MODE |
Modo testing (sin Auth0) |
No |
true / false |
PORT |
Puerto del servicio |
No |
8000 (Docker lo inyecta) |
GDI-MCP Server (:8005)
Integrado en GDI-Backend (api_gateway/). Comparte las variables del Backend mas las siguientes:
| Variable |
Descripcion |
Requerida |
Ejemplo |
MCP_RESOURCE_URI |
URI del recurso MCP |
No |
https://mcp.tu-dominio.com |
Audiences JWT soportados automaticamente:
AUTH0_AUDIENCE (del Backend)
MCP_RESOURCE_URI (si definida)
https://mcp.tu-dominio.com (hardcodeado)
GDI-BackOffice-Back (:8010)
| Variable |
Descripcion |
Requerida |
Ejemplo |
DB_HOST |
Host PostgreSQL |
Si |
postgres (Docker) / localhost (local) |
DB_PORT |
Puerto PostgreSQL |
Si |
5432 |
DB_USER |
Usuario PostgreSQL |
Si |
postgres |
DB_PASSWORD |
Password PostgreSQL |
Si |
(secreto) |
DB_NAME |
Nombre de la base de datos |
Si |
railway |
AUTH0_DOMAIN |
Dominio Auth0 |
Si |
tu-tenant.us.auth0.com |
AUTH0_AUDIENCE |
Audience Auth0 |
Si |
https://tu-tenant.us.auth0.com/api/v2/ |
FRONTEND_URL |
URL del BackOffice Front (CORS) |
No |
http://localhost:3013 |
BACKOFFICE_URL |
URL propia (referencia) |
No |
http://localhost:8010 |
RESEND_API_KEY |
API Key de Resend (emails transaccionales) |
Si |
re_... |
AUTH0_M2M_CLIENT_ID |
Client ID de app M2M (Management API) |
Si |
(secreto) |
AUTH0_M2M_CLIENT_SECRET |
Client Secret de app M2M |
Si |
(secreto) |
AUTH0_FRONTEND_CLIENT_ID |
Client ID de app frontend (redirect en password tickets) |
No |
(secreto) |
AUTH0_DB_CONNECTION |
Nombre de la Database Connection en Auth0 |
No |
Username-Password-Authentication |
TESTING_MODE |
Modo testing |
No |
true / false |
PORT |
Puerto del servicio |
No |
8010 |
Email via Resend
El envio de emails transaccionales (invitaciones, notificaciones) esta integrado directamente en GDI-BackOffice-Back usando la API de Resend. No existe un microservicio de email separado. La variable RESEND_API_KEY es necesaria para el envio de correos en produccion.
GDI-FRONTEND (:3003)
| Variable |
Descripcion |
Requerida |
Ejemplo |
AUTH0_SECRET |
Secret para sesiones NextAuth |
Si |
(secreto largo) |
AUTH0_BASE_URL |
URL base del frontend |
Si |
http://localhost:3003 |
AUTH0_ISSUER_BASE_URL |
URL de Auth0 |
Si |
https://tu-tenant.us.auth0.com |
AUTH0_CLIENT_ID |
Client ID Auth0 |
Si |
(secreto) |
AUTH0_CLIENT_SECRET |
Client Secret Auth0 |
Si |
(secreto) |
NEXT_PUBLIC_API_URL |
URL del Backend API |
Si |
http://localhost:8000 |
GDI-BackOffice-Front (:3013)
| Variable |
Descripcion |
Requerida |
Ejemplo |
AUTH0_SECRET |
Secret para sesiones NextAuth |
Si |
(secreto largo) |
AUTH0_BASE_URL |
URL base del frontend |
Si |
http://localhost:3013 |
AUTH0_ISSUER_BASE_URL |
URL de Auth0 |
Si |
https://tu-tenant.us.auth0.com |
AUTH0_CLIENT_ID |
Client ID Auth0 |
Si |
(secreto) |
AUTH0_CLIENT_SECRET |
Client Secret Auth0 |
Si |
(secreto) |
NEXT_PUBLIC_API_URL |
URL del BackOffice Backend |
Si |
http://localhost:8010 |
GDI-AgenteLANG (:8004)
| Variable |
Descripcion |
Requerida |
Ejemplo |
DATABASE_URL |
Connection string PostgreSQL |
Si |
postgresql://user:pass@host:port/db |
OPENROUTER_API_KEY |
API Key de OpenRouter |
Si |
sk-or-... |
OPENROUTER_MODEL |
Modelo LLM principal |
Si |
google/gemini-2.0-flash-001 |
OPENROUTER_FAST_MODEL |
Modelo para Router (gratis) |
Si |
meta-llama/llama-3.3-70b-instruct:free |
EMBEDDINGS_MODEL |
Modelo de embeddings |
Si |
openai/text-embedding-3-small |
GDI_BACKEND_URL |
URL del Backend |
Si |
http://backend:8000 |
INTERNAL_API_KEY |
API Key interna para Backend |
Si |
gdi-internal-2026 |
AUTH0_DOMAIN |
Dominio Auth0 |
Si |
tu-tenant.us.auth0.com |
AUTH0_AUDIENCE |
Audience Auth0 |
Si |
https://api.tu-dominio.com |
AI_WORKER_INTERVAL |
Intervalo del worker (segundos) |
No |
60 (default) |
AI_WORKER_BATCH_SIZE |
Documentos por batch |
No |
10 (default) |
ENABLED_SCHEMAS |
Schemas a procesar |
No |
["200_muni"] |
TRANSCRIPTION_ENABLED |
Habilitar transcripcion de PDFs |
No |
true (default) |
TRANSCRIPTION_VISION_MODEL |
Modelo de vision para OCR |
No |
google/gemini-flash-1.5 |
TRANSCRIPTION_MAX_FILE_SIZE_MB |
Tamano maximo PDF (MB) |
No |
10 |
TRANSCRIPTION_MAX_PAGES |
Paginas maximas a transcribir |
No |
50 |
TRANSCRIPTION_DPI |
Resolucion de renderizado |
No |
150 |
GDI-PDFComposer (:8002)
| Variable |
Descripcion |
Requerida |
Ejemplo |
API_KEY |
API Key de autenticacion |
Si |
(secreto) |
GUNICORN_WORKERS |
Numero de workers |
No |
4 (default) |
BETTERSTACK_SOURCE_TOKEN |
Token para logging centralizado |
No |
(secreto) |
PORT |
Puerto del servicio |
No |
8002 |
GDI-Notary (:8001)
| Variable |
Descripcion |
Requerida |
Ejemplo |
API_KEY |
API Key de autenticacion |
Si |
(secreto) |
ENVIRONMENT |
Ambiente de ejecucion |
Si |
test / prd |
CERTS_DIR |
Directorio de certificados |
No |
./certs (default) |
TSA_URL |
Servidor de timestamp |
No |
http://timestamp.digicert.com |
FALLBACK_TO_VISUAL |
Firma visual si no hay cert |
No |
true (test) / false (prd) |
GUNICORN_WORKERS |
Numero de workers |
No |
3 (default) |
GUNICORN_TIMEOUT |
Timeout de Gunicorn (seg) |
No |
90 (default) |
GDI-BD (Scripts SQL)
| Variable |
Descripcion |
Requerida |
Ejemplo |
DATABASE_URL |
Connection string PostgreSQL |
Si |
postgresql://user:pass@host:port/db |
Resumen de Variables Compartidas
Algunas variables se repiten en multiples servicios:
| Variable |
Servicios que la usan |
DATABASE_URL |
Backend, AgenteLANG, GDI-BD |
AUTH0_DOMAIN |
Backend, BackOffice-Back, AgenteLANG, Frontends |
AUTH0_AUDIENCE |
Backend, BackOffice-Back, AgenteLANG |
API_KEY |
PDFComposer, Notary |
PORT |
Todos (inyectado por Docker) |
Seguridad
Nunca commitear archivos .env ni credenciales en Git. Todas las variables sensibles deben configurarse en los archivos .env del servidor o en Docker Compose.