Saltar a contenido

🔐 Environment Variables Reference

Guía completa de todas las variables de entorno y qué hace cada una.

📍 Dónde van las variables

  • Frontend: .env.local en 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_KEY
  • AUTH0_CLIENT_SECRET
  • AUTH0_SECRET
  • ELEVENLABS_API_KEY
  • NEO4J_PASSWORD
  • SMTP_PASSWORD
  • DATABASE_URL

OK to make public (use NEXT_PUBLIC_):

  • NEXT_PUBLIC_BASE_URL
  • NEXT_PUBLIC_CORE_API_BASE_URL
  • AUTH0_CLIENT_ID
  • ELEVENLABS_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


🔗 Resources