🔐 Environment Variables Reference
Guía completa de todas las variables de entorno y qué hace cada una.
📍 Dónde van las variables
- Frontend:
.env.localen la raíz del proyecto - Backend:
core/.env
Importante: Variables que empiezan con NEXT_PUBLIC_ se inyectan en el cliente (navegador). NO guardes secrets ahí.
Frontend (.env.local)
URLs Base
NEXT_PUBLIC_BASE_URL=http://localhost:3000
NEXT_PUBLIC_CORE_API_BASE_URL=http://localhost:8080
Database
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aeternus
Auth0
AUTH0_SECRET=your-secret-key
AUTH0_BASE_URL=http://localhost:3000
AUTH0_ISSUER_BASE_URL=https://your-tenant.auth0.com
AUTH0_CLIENT_ID=your-client-id
AUTH0_CLIENT_SECRET=your-client-secret
OpenAI
OPENAI_API_KEY=sk-your-key
OPENAI_MODEL=gpt-4o
ElevenLabs (Text-to-Speech)
ELEVENLABS_API_KEY=your-key
ELEVENLABS_VOICE_ID=your-voice-id
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
Neo4j
NEO4J_URI=neo4j+s://your-uri.databases.neo4j.io
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=your-password
NEO4J_OFFLINE=true
Email (SMTP)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-email@gmail.com
SMTP_PASSWORD=your-app-password
SMTP_FROM_EMAIL=noreply@aeternus.ai
Backend (core/.env)
Mock Mode
CORE_MOCK_MODE=true # true = fake responses, false = real OpenAI API
OpenAI
OPENAI_API_KEY=sk-your-key
OPENAI_MODEL=gpt-4o
Database
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aeternus
Neo4j
NEO4J_URI=neo4j+s://your-uri.databases.neo4j.io
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=your-password
NEO4J_OFFLINE=true
CORS (Security)
# Comma-separated list of allowed origins
CORS_ORIGINS=http://localhost:3000,https://www.aeternus.ai
App Environment
APP_ENV=development # development or production
🔒 Secrets vs Public Variables
NEVER public:
OPENAI_API_KEYAUTH0_CLIENT_SECRETAUTH0_SECRETELEVENLABS_API_KEYNEO4J_PASSWORDSMTP_PASSWORDDATABASE_URL
OK to make public (use NEXT_PUBLIC_):
NEXT_PUBLIC_BASE_URLNEXT_PUBLIC_CORE_API_BASE_URLAUTH0_CLIENT_IDELEVENLABS_MODEL_ID
🛠️ Configuration by Environment
Development
# .env.local
NEXT_PUBLIC_CORE_API_BASE_URL=http://localhost:8080
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aeternus
# core/.env
CORE_MOCK_MODE=true
NEO4J_OFFLINE=true
APP_ENV=development
Production
# Frontend
NEXT_PUBLIC_CORE_API_BASE_URL=https://api.aeternus.ai
# Backend
CORE_MOCK_MODE=false
APP_ENV=production
❓ FAQ
Q: What if I don't set a variable?
A: Depends on the variable. Some have defaults, others cause errors.
Q: Is my .env.local in .gitignore?
A: Yes, automatically. Never commit .env files.
Q: How do I reset to defaults?
A: cp .env.example .env.local