#!/bin/bash # Script khởi động Docker cho dự án Lucky Wheel echo "🎡 Lucky Wheel - Docker Setup Script" echo "====================================" # Kiểm tra Docker và Docker Compose if ! command -v docker &> /dev/null; then echo "❌ Docker chưa được cài đặt. Vui lòng cài đặt Docker trước." exit 1 fi if ! command -v docker compose &> /dev/null; then echo "❌ Docker Compose chưa được cài đặt. Vui lòng cài đặt Docker Compose trước." exit 1 fi echo "✅ Docker và Docker Compose đã được cài đặt" # Sao chép file .env.docker thành .env echo "" echo "📋 Cấu hình file .env..." if [ -f .env ]; then echo "⚠️ File .env đã tồn tại. Tạo backup..." cp .env .env.backup.$(date +%Y%m%d_%H%M%S) fi cp .env.docker .env echo "✅ Đã sao chép .env.docker thành .env" # Dừng và xóa các container cũ (nếu có) echo "" echo "🛑 Dừng và xóa các container cũ..." docker compose down -v # Build và khởi động containers echo "" echo "🔨 Building Docker images..." docker compose build --no-cache echo "" echo "🚀 Khởi động containers..." docker compose up -d # Chờ MySQL khởi động hoàn toàn echo "" echo "⏳ Chờ MySQL khởi động (30 giây)..." sleep 30 # Chạy migrations và seeders echo "" echo "📊 Chạy database migrations..." docker compose exec app php artisan migrate --force echo "" echo "🌱 Chạy database seeders..." docker compose exec app php artisan db:seed --class=DanhSachGiaiThuongSeeder --force || true # Tạo symbolic link cho storage echo "" echo "🔗 Tạo symbolic link cho storage..." docker compose exec app php artisan storage:link # Clear cache echo "" echo "🧹 Clear cache..." docker compose exec app php artisan config:clear docker compose exec app php artisan cache:clear docker compose exec app php artisan view:clear docker compose exec app php artisan route:clear # Optimize echo "" echo "⚡ Optimize application..." docker compose exec app php artisan config:cache docker compose exec app php artisan route:cache docker compose exec app php artisan view:cache echo "" echo "✅ Hoàn tất!" echo "" echo "📌 Thông tin dịch vụ:" echo " - Ứng dụng Laravel: http://localhost:8080" echo " - PHPMyAdmin: http://localhost:8081" echo " - MySQL: localhost:3307" echo " - Redis: localhost:6380" echo "" echo "📝 Thông tin đăng nhập MySQL:" echo " - Database: luckywheel" echo " - Username: laravel" echo " - Password: laravel123" echo " - Root Password: root123" echo "" echo "🔧 Các lệnh hữu ích:" echo " - Xem logs: docker compose logs -f" echo " - Xem logs app: docker compose logs -f app" echo " - Vào container app: docker compose exec app bash" echo " - Dừng services: docker compose down" echo " - Khởi động lại: docker compose restart" echo ""