Saltar al contenido principal

Variables de Entorno (.env)

El archivo .env es el núcleo de la configuración de FeedbackPulse. Se crea automáticamente durante la instalación, pero puedes editarlo manualmente en cualquier momento.


📍 Ubicación del Archivo

/var/www/feedbackpulse-saas/.env

⚠️ Seguridad: El archivo .env contiene datos sensibles (contraseñas de base de datos, claves API). Nunca lo subas a un repositorio de control de versiones ni lo expongas públicamente. Debe tener permisos 640.


🔧 Después de Editar .env

Después de realizar cambios, limpia la caché de configuración:

php artisan config:clear
php artisan config:cache # Opcional: cachear para rendimiento en producción

📋 Referencia Completa de Variables

🏠 Configuración de la Aplicación

VariableValor PredeterminadoDescripción
APP_NAMEFeedbackPulseNombre de la plataforma (mostrado en emails, títulos)
APP_ENVproductionEntorno: production, local, staging
APP_KEY(auto-generado)Clave de cifrado. ¡Nunca cambiar después de la instalación!
APP_DEBUGfalseMostrar errores detallados. ¡Debe ser false en producción!
APP_URLhttps://yourdomain.comURL completa de tu plataforma (con https)
APP_LOCALEenIdioma predeterminado
APP_FALLBACK_LOCALEenIdioma de respaldo
BCRYPT_ROUNDS12Fortaleza del hash de contraseñas (mayor = más lento pero más seguro)

⚠️ APP_DEBUG=true expondrá información sensible (credenciales de base de datos, claves API) en las páginas de error. Nunca habilitar en producción excepto para sesiones de depuración breves.

🗄️ Base de Datos

VariableValor PredeterminadoDescripción
DB_CONNECTIONmysqlDriver de base de datos: mysql, mariadb, sqlite, pgsql
DB_HOST127.0.0.1Dirección del servidor de base de datos
DB_PORT3306Puerto de la base de datos
DB_DATABASEfeedbackpulseNombre de la base de datos
DB_USERNAMErootUsuario de la base de datos
DB_PASSWORD(vacío)Contraseña de la base de datos

📧 Email / SMTP

VariableValor PredeterminadoDescripción
MAIL_MAILERsmtpDriver de correo: smtp, ses, postmark, sendmail, log
MAIL_HOSTsmtp.mailgun.orgHost del servidor SMTP
MAIL_PORT587Puerto SMTP (587 para TLS, 465 para SSL)
MAIL_USERNAME(vacío)Usuario SMTP
MAIL_PASSWORD(vacío)Contraseña SMTP
MAIL_ENCRYPTIONtlsCifrado: tls, ssl o null
MAIL_FROM_ADDRESS[email protected]Dirección de email del remitente
MAIL_FROM_NAMEFeedbackPulseNombre del remitente

💳 Stripe (Opcional)

VariableValor PredeterminadoDescripción
STRIPE_PUBLISHABLE_KEY(vacío)Clave publicable de Stripe (comienza con pk_)
STRIPE_SECRET_KEY(vacío)Clave secreta de Stripe (comienza con sk_)
STRIPE_WEBHOOK_SECRET(vacío)Secreto de firma del webhook de Stripe (comienza con whsec_)

💰 PayPal (Opcional)

VariableValor PredeterminadoDescripción
PAYPAL_CLIENT_ID(vacío)ID de cliente de la API REST de PayPal
PAYPAL_CLIENT_SECRET(vacío)Secreto de cliente de la API REST de PayPal
PAYPAL_WEBHOOK_ID(vacío)ID de webhook de PayPal para verificación
PAYPAL_MODEsandboxModo: sandbox (pruebas) o live (producción)

🔑 Inicio de Sesión Social (Opcional)

VariableValor PredeterminadoDescripción
GOOGLE_CLIENT_ID(vacío)ID de cliente OAuth de Google
GOOGLE_CLIENT_SECRET(vacío)Secreto de cliente OAuth de Google
GITHUB_CLIENT_ID(vacío)ID de cliente OAuth de GitHub
GITHUB_CLIENT_SECRET(vacío)Secreto de cliente OAuth de GitHub

🤖 IA / OpenAI (Opcional)

VariableValor PredeterminadoDescripción
OPENAI_API_KEY(vacío)Clave API de OpenAI para análisis de sentimientos, etiquetado automático, respuestas con IA

🤖 reCAPTCHA (Opcional)

VariableValor PredeterminadoDescripción
RECAPTCHA_SITE_KEY(vacío)Clave de sitio de Google reCAPTCHA v2/v3
RECAPTCHA_SECRET_KEY(vacío)Clave secreta de Google reCAPTCHA

🍪 Sesión y Caché

VariableValor PredeterminadoDescripción
SESSION_DRIVERfileAlmacenamiento de sesión: file, database, redis, cookie
SESSION_LIFETIME120Tiempo de espera de sesión en minutos
SESSION_DOMAIN(vacío)Dominio de la cookie (configura a .yourdomain.com para subdominios)
SESSION_SECURE_COOKIEtrueRequiere HTTPS para las cookies de sesión
CACHE_STOREfileDriver de caché: file, database, redis, memcached

📦 Cola y Trabajos

VariableValor PredeterminadoDescripción
QUEUE_CONNECTIONsyncDriver de cola: sync, database, redis

⏰ Cron (Hosting Compartido)

VariableValor PredeterminadoDescripción
CRON_TOKEN(auto-generado)Token secreto para el endpoint cron basado en web /cron/run?token=. Auto-generado durante la instalación. Solo necesario si se usa cron basado en URL en lugar de CLI.

📁 Almacenamiento de Archivos

VariableValor PredeterminadoDescripción
FILESYSTEM_DISKlocalDisco de almacenamiento predeterminado: local, public, s3

🪵 Registro

VariableValor PredeterminadoDescripción
LOG_CHANNELstackCanal de registro: stack, single, daily, syslog
LOG_LEVELerrorNivel mínimo de registro: debug, info, notice, warning, error, critical

💡 Ejemplo de .env para Producción

APP_NAME="FeedbackPulse"
APP_ENV=production
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_URL=https://feedback.mycompany.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feedbackpulse
DB_USERNAME=fp_user
DB_PASSWORD=super_secure_password_here

SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN=.feedback.mycompany.com
SESSION_SECURE_COOKIE=true
CACHE_STORE=file

QUEUE_CONNECTION=sync

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mailgun_password_here
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"

STRIPE_PUBLISHABLE_KEY=pk_live_xxxxx
STRIPE_SECRET_KEY=sk_live_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx

OPENAI_API_KEY=sk-xxxxx

LOG_CHANNEL=daily
LOG_LEVEL=error

⏭️ Próximos Pasos