Files
luckywheel/docker-setup.sh
2026-01-14 14:51:03 +07:00

100 lines
2.8 KiB
Bash
Executable File

#!/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 ""