#!/bin/bash # Farben für Output GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color echo -e "${GREEN}Rezepte - Docker Build & Deploy Script${NC}" echo "==================================================" # Überprüfe ob Docker läuft if ! docker info > /dev/null 2>&1; then echo -e "${RED}❌ Docker ist nicht verfügbar. Bitte starte Docker Desktop.${NC}" exit 1 fi # Environment-Datei kopieren if [ ! -f .env ]; then echo -e "${YELLOW}📝 Kopiere .env.docker zu .env${NC}" cp .env.docker .env else echo -e "${GREEN}✅ .env Datei bereits vorhanden${NC}" fi # Erstelle Upload-Ordner falls nicht vorhanden echo -e "${YELLOW}📁 Erstelle Upload-Ordner...${NC}" mkdir -p docker-data/uploads mkdir -p docker-data/mysql # Legacy Uploads kopieren falls vorhanden if [ -d "upload" ]; then echo -e "${YELLOW}📋 Kopiere bestehende Uploads...${NC}" cp -r upload/* docker-data/uploads/ 2>/dev/null || true fi # Stoppe eventuell laufende Container echo -e "${YELLOW}🛑 Stoppe laufende Container...${NC}" docker compose -f docker compose.modern.yml down # Entferne alte Images (optional - auskommentiert) # echo -e "${YELLOW}🗑️ Entferne alte Images...${NC}" # docker compose -f docker compose.modern.yml down --rmi all # Build alle Services echo -e "${YELLOW}🔨 Baue alle Services...${NC}" docker compose -f docker compose.modern.yml build --no-cache # Starte Services echo -e "${YELLOW}🚀 Starte alle Services...${NC}" docker compose -f docker compose.modern.yml up -d # Warte auf MySQL echo -e "${YELLOW}⏳ Warte auf MySQL...${NC}" until docker compose -f docker compose.modern.yml exec mysql mysqladmin ping -h"localhost" --silent; do echo -n "." sleep 2 done echo -e "${GREEN}✅ MySQL ist bereit${NC}" # Führe Database Migrations aus echo -e "${YELLOW}🗃️ Führe Database Migrations aus...${NC}" docker compose -f docker compose.modern.yml exec backend npx prisma migrate deploy || true docker compose -f docker compose.modern.yml exec backend npx prisma generate || true # Zeige Container Status echo -e "${GREEN}📊 Container Status:${NC}" docker compose -f docker compose.modern.yml ps echo "" echo -e "${GREEN}🎉 Deployment erfolgreich!${NC}" echo "" echo "Verfügbare Services:" echo -e "🌐 Frontend: ${GREEN}http://localhost:3000${NC}" echo -e "🔧 Backend API: ${GREEN}http://localhost:3001${NC}" echo -e "🗃️ phpMyAdmin: ${GREEN}http://localhost:8080${NC}" echo -e "📁 Legacy PHP: ${GREEN}http://localhost:8090${NC} (optional)" echo "" echo "Nützliche Commands:" echo " docker compose -f docker compose.modern.yml logs -f # Logs anzeigen" echo " docker compose -f docker compose.modern.yml down # Services stoppen" echo " docker compose -f docker compose.modern.yml exec backend bash # Backend Shell" echo ""