🚀 Deployment Checklist

Pre-flight validation items for production deployment

12
Total Items
9
Critical
2
Warnings
1
Info

Database & Storage

SQLite Database File Exists
Location: /database/database.sqlite (Verified: 245 KB)
Database Readable & Writable
Permissions: 644 (User: web server, Group: www-data)
All Required Tables Initialized
12 tables found: admin_logs, admin_roles, admin_users, cart_items, carts, categories, coupons, email_settings, order_items, orders, payments, products
Storage Directory Permissions
Location: /storage writeable for logs, cache, uploads

Laravel Configuration

Environment Mode
APP_ENV should be production (currently: app.php APP_DEBUG check)
Application Key Set
APP_KEY generated in .env (required for encryption)
Cache & Session Drivers
CACHE_DRIVER: file | SESSION_DRIVER: file
Queue Driver Configuration
QUEUE_CONNECTION: sync (synchronous for single-server)

Admin User & Security

Admin User Created
Email: admin@shop.com | Role: super_admin
Admin Login Credentials Reset
After deployment, change default password immediately via /admin/settings
Admin Roles Configured
4 roles: super_admin, manager, operator, viewer

Cache & Optimization

Run Config Caching
Execute: php artisan config:cache (Must run after env changes)
Run Route Caching
Execute: php artisan route:cache (66+ admin routes optimized)
Run View Compilation
Execute: php artisan view:cache (Pre-compile Blade templates)

Pre-Deployment Steps

  1. Extract deployment package: tar -xzf abodos-index-deploy-*.tar.gz
  2. Clear application cache: php artisan optimize:clear
  3. Run database migrations: php artisan migrate --force
  4. Cache configuration: php artisan config:cache
  5. Cache routes: php artisan route:cache
  6. Compile views: php artisan view:cache
  7. Set proper permissions: chmod -R 775 storage/ bootstrap/cache/
  8. Restart web server: systemctl restart nginx php-fpm (or equivalent)
  9. Verify: Access /admin/login and confirm database connection
  10. Change default admin password immediately