Settings

Complete guide to configuring LaraDashboard settings including general settings, theme customization, email configuration, and system options.

Settings

LaraDashboard's Settings area allows you to configure every aspect of your installation, from basic site information to advanced system options.

Accessing Settings

Navigate to Settings in the sidebar. Settings are organized into categories:

  • General Settings
  • Theme & Appearance
  • Email Configuration
  • Authentication
  • Modules
  • Backups
  • Advanced

General Settings

Site Information

Configure basic site details:

Setting Description Example
Site Name Your site/app name LaraDashboard
Site Description Meta description Admin panel for Laravel
Admin Email Primary admin contact admin@example.com
Site URL Base URL https://yourdomain.com

Localization

Setting Description Options
Timezone Default timezone UTC, America/New_York, etc.
Date Format Date display format Y-m-d, m/d/Y, d/m/Y
Time Format Time display format H:i, h:i A
Language Default language English, Spanish, etc.

Site Logo & Favicon

Upload your branding:

  1. Logo - Main site logo (recommended: 200x50px)
  2. Dark Logo - Logo for dark mode
  3. Favicon - Browser tab icon (32x32px or .ico)
  4. App Icon - Mobile app icon (192x192px)

Theme & Appearance

Color Scheme

Customize your admin panel colors:

Primary Color: #6366f1
Secondary Color: #4f46e5
Success Color: #22c55e
Warning Color: #f59e0b
Danger Color: #ef4444
Info Color: #3b82f6

Sidebar Settings

Setting Description Options
Sidebar Mode Light or dark sidebar Light, Dark
Sidebar Collapsed Default collapsed state Yes, No
Sidebar Width Width in pixels 250, 280, 300

Navbar Settings

Setting Description Options
Navbar Mode Light or dark navbar Light, Dark
Fixed Navbar Sticky navbar on scroll Yes, No
Show Search Display search bar Yes, No

Theme Mode

Setting Description
Default Theme Default for new users: Light, Dark, System
Allow Theme Toggle Let users switch themes

Custom CSS

Add custom styles:

/* Custom CSS for admin panel */
.sidebar {
    background: linear-gradient(180deg, #1e1b4b, #312e81);
}

.btn-primary {
    border-radius: 8px;
}

Email Configuration

Email Connections

Manage email service providers:

  1. Navigate to SettingsEmailConnections
  2. Click Add Connection
  3. Select provider:

SMTP Configuration

Provider: SMTP
Host: smtp.example.com
Port: 587
Username: your-username
Password: ********
Encryption: TLS

Mailgun Configuration

Provider: Mailgun
Domain: mg.yourdomain.com
API Key: key-xxxxxxxx
Region: US / EU

SendGrid Configuration

Provider: SendGrid
API Key: SG.xxxxxxxxxxxx

AWS SES Configuration

Provider: Amazon SES
Access Key: AKIAIOSFODNN7EXAMPLE
Secret Key: ********
Region: us-east-1

Default Sender

Configure default email sender:

From Name: LaraDashboard
From Email: noreply@yourdomain.com
Reply-To: support@yourdomain.com

Test Email

Test your configuration:

  1. Click Send Test Email
  2. Enter recipient address
  3. Check inbox for test message

Email Templates

Configure system email templates:

  • Welcome Email
  • Password Reset
  • Email Verification
  • Notification Template

See Email Templates for detailed guide.

Authentication Settings

Registration

Setting Description Default
Enable Registration Allow public signup Yes
Default Role Role for new users Subscriber
Require Approval Admin approval needed No

Email Verification

Setting Description Default
Require Verification Email must be verified Yes
Verification Timeout Link expiry time 60 minutes
Resend Cooldown Wait between resends 60 seconds

Password Policy

Setting Description Default
Minimum Length Minimum characters 8
Require Uppercase Need uppercase letter Yes
Require Number Need numeric digit Yes
Require Special Need special character No

Session Settings

Setting Description Default
Session Lifetime Minutes until logout 120
Remember Me Extended session duration 2 weeks
Single Session One session per user No

Security Features

Setting Description Default
Enable reCAPTCHA Bot protection No
reCAPTCHA Site Key Google reCAPTCHA key -
reCAPTCHA Secret Google reCAPTCHA secret -
Failed Login Limit Max failed attempts 5
Lockout Duration Lock time after failures 15 min

Analytics & Tracking

Google Analytics

Measurement ID: G-XXXXXXXXXX

Google Tag Manager

Container ID: GTM-XXXXXXX

Custom Scripts

Add custom tracking or scripts:

Head Scripts

<!-- Added to <head> -->
<script>
  // Custom head scripts
</script>

Body Scripts

<!-- Added before </body> -->
<script>
  // Custom body scripts
</script>

Module Settings

Installed Modules

View and manage installed modules:

Module Version Status Actions
CRM 1.0.0 Active Deactivate, Settings
DocForge 0.0.1 Active Deactivate, Settings
CustomForm 1.2.0 Inactive Activate, Delete

Installing Modules

  1. Click Upload Module
  2. Select ZIP file
  3. Click Install
  4. Activate when ready

Module Configuration

Each module may have its own settings page accessible via:

SettingsModules[Module Name]Configure

Backup Settings

Manual Backup

Create a backup on-demand:

  1. Navigate to SettingsBackups
  2. Click Create Backup
  3. Wait for backup to complete
  4. Download or store backup

Backup Contents

Backups include:

  • ✅ Database dump
  • ✅ Uploaded media
  • ✅ Configuration files
  • ✅ Custom themes
  • ❌ Vendor directory (excluded)
  • ❌ Node modules (excluded)

Restore from Backup

  1. Navigate to Backups
  2. Select backup file
  3. Click Restore
  4. Confirm restoration

Warning: Restoration will overwrite current data!

Scheduled Backups

Configure automatic backups:

Frequency: Daily
Time: 03:00 AM
Retention: 7 days
Storage: Local / S3

System Information

View system details:

LaraDashboard Version: 0.9.2
Laravel Version: 12.0
PHP Version: 8.3.0
Database: MySQL 8.0
Server: nginx/1.24

Environment: Production
Debug Mode: Off
Cache Driver: Redis
Queue Driver: Redis

Cache Management

Clear Cache

Clear different cache types:

Cache Command Description
All Cache Clear All Clears everything
Application App Cache Application data cache
Config Config Cache Configuration cache
Route Route Cache Compiled routes
View View Cache Compiled Blade views
Permission Permission Cache RBAC cache

Optimize

Optimize for production:

  1. Click Optimize Application
  2. This runs:
    • config:cache
    • route:cache
    • view:cache
    • optimize

Advanced Settings

Maintenance Mode

Enable maintenance mode:

  1. Toggle Maintenance Mode on
  2. Optionally add:
    • Secret bypass token
    • Allowed IPs
    • Custom message

Queue Configuration

Setting Description
Queue Driver sync, database, redis
Retry Attempts Failed job retries
Timeout Job timeout seconds

Logging

Setting Description
Log Channel stack, single, daily
Log Level debug, info, warning, error
Log Retention Days to keep logs

API Settings

Setting Description
Enable API API access toggle
Rate Limit Requests per minute
Token Expiry API token lifetime

Environment Variables

Some settings must be configured via .env:

# These cannot be changed in UI
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:...

# Database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=laradashboard

# Cache
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

Settings API

Get Settings

// Using service
$settingService = app(SettingService::class);
$value = $settingService->get('site_name');

// With default
$value = $settingService->get('feature', 'default');

// Multiple
$settings = $settingService->getMany([
    'site_name',
    'site_description'
]);

Update Settings

// Single
$settingService->set('site_name', 'New Name');

// Multiple
$settingService->setMany([
    'site_name' => 'New Name',
    'site_description' => 'New description'
]);

In Blade Templates

{{ setting('site_name') }}
{{ setting('site_logo') }}

@if(setting('feature_enabled'))
    Feature is on
@endif

Permissions

Settings permissions:

Permission Description
settings.view View settings
settings.edit Modify settings
settings.backups Access backups
settings.modules Manage modules

Best Practices

Security

  • Disable debug mode in production
  • Use strong reCAPTCHA if public registration
  • Regularly review authentication settings
  • Keep backup encryption enabled

Performance

  • Enable caching in production
  • Use Redis for cache/sessions/queues
  • Optimize after configuration changes
  • Schedule backups during low-traffic

Organization

  • Document custom settings changes
  • Test email configuration after changes
  • Review module compatibility before updates
  • Maintain backup schedule

Troubleshooting

Settings Not Saving

  1. Check for validation errors
  2. Verify session is active
  3. Clear config cache:
    php artisan config:clear
    

Email Not Working

  1. Test with simple SMTP first
  2. Check credentials
  3. Verify server allows SMTP connections
  4. Review mail logs

Theme Not Applying

  1. Clear view cache:
    php artisan view:clear
    
  2. Hard refresh browser (Ctrl+Shift+R)
  3. Check custom CSS for errors

Next Steps

/