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:
- Logo - Main site logo (recommended: 200x50px)
- Dark Logo - Logo for dark mode
- Favicon - Browser tab icon (32x32px or .ico)
- 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:
- Navigate to Settings → Email → Connections
- Click Add Connection
- 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:
- Click Send Test Email
- Enter recipient address
- 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
- Click Upload Module
- Select ZIP file
- Click Install
- Activate when ready
Module Configuration
Each module may have its own settings page accessible via:
Settings → Modules → [Module Name] → Configure
Backup Settings
Manual Backup
Create a backup on-demand:
- Navigate to Settings → Backups
- Click Create Backup
- Wait for backup to complete
- 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
- Navigate to Backups
- Select backup file
- Click Restore
- 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:
- Click Optimize Application
- This runs:
config:cacheroute:cacheview:cacheoptimize
Advanced Settings
Maintenance Mode
Enable maintenance mode:
- Toggle Maintenance Mode on
- 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
- Check for validation errors
- Verify session is active
- Clear config cache:
php artisan config:clear
Email Not Working
- Test with simple SMTP first
- Check credentials
- Verify server allows SMTP connections
- Review mail logs
Theme Not Applying
- Clear view cache:
php artisan view:clear - Hard refresh browser (Ctrl+Shift+R)
- Check custom CSS for errors
Next Steps
- Email Templates - Configure email designs
- Module Management - Install and manage modules
- Backup & Restore - Data protection