Environment Variables (.env)
The .env file is the heart of FeedbackPulse's configuration. It's created automatically during installation, but you can edit it manually anytime.
📍 File Location
/var/www/feedbackpulse-saas/.env
⚠️ Seguridad: The
.envfile contains sensitive data (database passwords, Claves API). Never commit it to version control or expose it publicly. It should have640permissions.
🔧 After Editing .env
After making changes, clear the config cache:
php artisan config:clear
php artisan config:cache # Optional: cache for production performance
📋 Complete Variable Reference
🏠 Application Configuracion
| Variable | Default | Description |
|---|---|---|
APP_NAME | FeedbackPulse | Platform name (shown in emails, titles) |
APP_ENV | production | Environment: production, local, staging |
APP_KEY | (auto-generated) | Encryption key. Never change after installation! |
APP_DEBUG | false | Show detailed errors. Must be false in production! |
APP_URL | https://yourdomain.com | Full URL of your platform (with https) |
APP_LOCALE | en | Default language |
APP_FALLBACK_LOCALE | en | Fallback language |
BCRYPT_ROUNDS | 12 | Password hashing strength (higher = slower but more secure) |
⚠️
APP_DEBUG=truewill expose sensitive information (database credentials, Claves API) in error pages. Never enable in production except for brief debugging sessions.
🗄️ Base de Datos
| Variable | Default | Description |
|---|---|---|
DB_CONNECTION | mysql | Base de Datos driver: mysql, mariadb, sqlite, pgsql |
DB_HOST | 127.0.0.1 | Base de Datos server address |
DB_PORT | 3306 | Base de Datos port |
DB_DATABASE | feedbackpulse | Base de Datos name |
DB_USERNAME | root | Base de Datos username |
DB_PASSWORD | (empty) | Base de Datos password |
📧 Email / SMTP
| Variable | Default | Description |
|---|---|---|
MAIL_MAILER | smtp | Mail driver: smtp, ses, postmark, sendmail, log |
MAIL_HOST | smtp.mailgun.org | SMTP server host |
MAIL_PORT | 587 | SMTP port (587 for TLS, 465 for SSL) |
MAIL_USERNAME | (empty) | SMTP username |
MAIL_PASSWORD | (empty) | SMTP password |
MAIL_ENCRYPTION | tls | Encryption: tls, ssl, or null |
MAIL_FROM_ADDRESS | [email protected] | Sender email address |
MAIL_FROM_NAME | FeedbackPulse | Sender name |
💳 Stripe (Optional)
| Variable | Default | Description |
|---|---|---|
STRIPE_PUBLISHABLE_KEY | (empty) | Stripe publishable key (starts with pk_) |
STRIPE_SECRET_KEY | (empty) | Stripe secret key (starts with sk_) |
STRIPE_WEBHOOK_SECRET | (empty) | Stripe webhook signing secret (starts with whsec_) |
💰 PayPal (Optional)
| Variable | Default | Description |
|---|---|---|
PAYPAL_CLIENT_ID | (empty) | PayPal REST API client ID |
PAYPAL_CLIENT_SECRET | (empty) | PayPal REST API client secret |
PAYPAL_WEBHOOK_ID | (empty) | PayPal webhook ID for verification |
PAYPAL_MODE | sandbox | Mode: sandbox (testing) or live (production) |
🔑 Social Login (Optional)
| Variable | Default | Description |
|---|---|---|
GOOGLE_CLIENT_ID | (empty) | Google OAuth client ID |
GOOGLE_CLIENT_SECRET | (empty) | Google OAuth client secret |
GITHUB_CLIENT_ID | (empty) | GitHub OAuth client ID |
GITHUB_CLIENT_SECRET | (empty) | GitHub OAuth client secret |
🤖 AI / OpenAI (Optional)
| Variable | Default | Description |
|---|---|---|
OPENAI_API_KEY | (empty) | OpenAI API key for analisis de sentimiento, auto-tagging, AI replies |
🤖 reCAPTCHA (Optional)
| Variable | Default | Description |
|---|---|---|
RECAPTCHA_SITE_KEY | (empty) | Google reCAPTCHA v2/v3 site key |
RECAPTCHA_SECRET_KEY | (empty) | Google reCAPTCHA secret key |
🍪 Session & Cache
| Variable | Default | Description |
|---|---|---|
SESSION_DRIVER | file | Session storage: file, database, redis, cookie |
SESSION_LIFETIME | 120 | Session timeout in minutes |
SESSION_DOMAIN | (empty) | Cookie domain (set to .yourdomain.com for subdomains) |
SESSION_SECURE_COOKIE | true | Require HTTPS for session cookies |
CACHE_STORE | file | Cache driver: file, database, redis, memcached |
📦 Queue & Jobs
| Variable | Default | Description |
|---|---|---|
QUEUE_CONNECTION | sync | Queue driver: sync, database, redis |
⏰ Cron (Shared Hosting)
| Variable | Default | Description |
|---|---|---|
CRON_TOKEN | (auto-generated) | Secret token for the web-based cron endpoint /cron/run?token=. Auto-generated during installation. Required only if using URL-based cron instead of CLI. |
📁 File Storage
| Variable | Default | Description |
|---|---|---|
FILESYSTEM_DISK | local | Default storage disk: local, public, s3 |
🪵 Logging
| Variable | Default | Description |
|---|---|---|
LOG_CHANNEL | stack | Log channel: stack, single, daily, syslog |
LOG_LEVEL | error | Min log level: debug, info, notice, warning, error, critical |
💡 Example Production .env
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