84 lines
2.8 KiB
Bash
Executable File
84 lines
2.8 KiB
Bash
Executable File
#!/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 Klaus - 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 "" |