Skip to content

Post-Installation Setup ​

After completing the web installer, configure these essential components to ensure FeedbackFlow operates correctly.

1. Email Configuration ​

Email functionality is critical for notifications, weekly digests, and password resets.

Configure SMTP Settings ​

  1. Log in to the admin dashboard
  2. Navigate to Settings β†’ Email Settings

Email Configuration

  1. Click Add Email Configuration
  2. Fill in SMTP details:
FieldDescriptionExample
Configuration NameIdentifier for this config"Primary SMTP"
MailerMail driversmtp
HostSMTP server addresssmtp.gmail.com
PortSMTP port587 (TLS) or 465 (SSL)
EncryptionEncryption typetls or ssl
UsernameSMTP username[email protected]
PasswordSMTP password or app passwordyour-app-password
From NameSender name"FeedbackFlow Support"
From EmailSender email[email protected]
  1. Click Test Email Configuration to verify
  2. Mark as Default if this is your primary email config

Multiple SMTP Configs

FeedbackFlow supports multiple email configurations with fallback. If the primary SMTP fails, it automatically tries the next configured provider.

2. Queue Worker Setup ​

FeedbackFlow uses queues for background tasks like email sending, webhooks, and spam detection.

Create a Supervisor configuration file:

bash
sudo nano /etc/supervisor/conf.d/feedbackflow-worker.conf

Add this configuration:

ini
[program:feedbackflow-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/feedbackflow/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/path/to/feedbackflow/storage/logs/worker.log
stopwaitsecs=3600

Update and start:

bash
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start feedbackflow-worker:*

Using systemd ​

Create a systemd service:

bash
sudo nano /etc/systemd/system/feedbackflow-worker.service
ini
[Unit]
Description=FeedbackFlow Queue Worker
After=network.target

[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /path/to/feedbackflow/artisan queue:work redis --sleep=3 --tries=3

[Install]
WantedBy=multi-user.target

Enable and start:

bash
sudo systemctl enable feedbackflow-worker
sudo systemctl start feedbackflow-worker

Using Laravel Horizon (Alternative) ​

If you prefer Laravel Horizon for queue monitoring:

bash
php artisan horizon

Configure Horizon to start automatically via Supervisor.

Important

Queue workers must run continuously. Without them, emails won't send, webhooks won't fire, and spam detection won't work.

3. Cron Job Setup ​

Laravel's task scheduler requires a cron entry to run every minute.

Verify Cron is Working ​

After adding the cron job, check the admin dashboard:

  1. Navigate to Settings β†’ Cron Job Settings
  2. Click Run Cron Manually to test
  3. Check the last run timestamp

Cron Job Settings

What Cron Jobs Do ​

  • Send weekly digest emails (Sundays at 09:00 UTC)
  • Clean up old email logs
  • Process scheduled tasks

Next Steps ​

Β© 2024 - Corbital Technologies. All rights reserved.