docker compose modernisiert

This commit is contained in:
rxf
2025-09-22 17:11:34 +02:00
parent b52a9abc02
commit 7dfc45d9fc
10 changed files with 52 additions and 62 deletions

View File

@@ -121,18 +121,18 @@ fi
# Pull latest images
echo "📥 Pulling latest images..."
docker-compose -f docker-compose.traefik-external-db.yml pull
docker compose -f docker compose.traefik-external-db.yml pull
# Start services
echo "🚀 Starting Rezepte Klaus services with external MySQL..."
docker-compose -f docker-compose.traefik-external-db.yml up -d
docker compose -f docker compose.traefik-external-db.yml up -d
# Wait for services to be healthy
echo "⏳ Waiting for services to start..."
sleep 45
echo "🔍 Checking service health..."
HEALTHY_SERVICES=$(docker-compose -f docker-compose.traefik-external-db.yml ps --filter "status=running" --format "table {{.Service}}\t{{.Status}}" | grep -c "Up" || true)
HEALTHY_SERVICES=$(docker compose -f docker compose.traefik-external-db.yml ps --filter "status=running" --format "table {{.Service}}\t{{.Status}}" | grep -c "Up" || true)
if [ "$HEALTHY_SERVICES" -ge 4 ]; then
echo "✅ Deployment successful!"
@@ -149,18 +149,18 @@ if [ "$HEALTHY_SERVICES" -ge 4 ]; then
echo " Rezepte User: rezepte_user"
echo ""
echo "📊 Service Status:"
docker-compose -f docker-compose.traefik-external-db.yml ps
docker compose -f docker compose.traefik-external-db.yml ps
echo ""
echo "💡 phpMyAdmin now shows both Gitea and Rezepte Klaus databases!"
else
echo "❌ Deployment failed! Check logs:"
docker-compose -f docker-compose.traefik-external-db.yml logs --tail=50
docker compose -f docker compose.traefik-external-db.yml logs --tail=50
exit 1
fi
echo ""
echo "📋 Useful commands:"
echo " View logs: docker-compose -f docker-compose.traefik-external-db.yml logs -f"
echo " Update: docker-compose -f docker-compose.traefik-external-db.yml pull && docker-compose -f docker-compose.traefik-external-db.yml up -d"
echo " Stop: docker-compose -f docker-compose.traefik-external-db.yml down"
echo " View logs: docker compose -f docker compose.traefik-external-db.yml logs -f"
echo " Update: docker compose -f docker compose.traefik-external-db.yml pull && docker compose -f docker compose.traefik-external-db.yml up -d"
echo " Stop: docker compose -f docker compose.traefik-external-db.yml down"
echo " Database access: docker exec -it $MYSQL_HOST mysql -urezepte_user -p rezepte_klaus"

View File

@@ -44,19 +44,19 @@ if [ ! -f ./acme.json ]; then
fi
echo "🛑 Stopping existing containers..."
docker-compose -f docker-compose.traefik.yml down
docker compose -f docker compose.traefik.yml down
echo "📥 Pulling latest images from registry..."
docker-compose -f docker-compose.traefik.yml pull backend frontend
docker compose -f docker compose.traefik.yml pull backend frontend
echo "🚀 Starting containers with Traefik proxy..."
docker-compose -f docker-compose.traefik.yml up -d
docker compose -f docker compose.traefik.yml up -d
echo "⏳ Waiting for services to start..."
sleep 45
echo "🔍 Checking service health..."
HEALTHY_SERVICES=$(docker-compose -f docker-compose.traefik.yml ps --filter "status=running" --format "table {{.Service}}\t{{.Status}}" | grep -c "Up" || true)
HEALTHY_SERVICES=$(docker compose -f docker compose.traefik.yml ps --filter "status=running" --format "table {{.Service}}\t{{.Status}}" | grep -c "Up" || true)
if [ "$HEALTHY_SERVICES" -ge 6 ]; then
echo "✅ Deployment successful!"
@@ -68,7 +68,7 @@ if [ "$HEALTHY_SERVICES" -ge 6 ]; then
echo " Traefik Dashboard: https://traefik.$DOMAIN (admin/admin - please change!)"
echo ""
echo "📊 Service Status:"
docker-compose -f docker-compose.traefik.yml ps
docker compose -f docker compose.traefik.yml ps
echo ""
echo "🏷️ Image Information:"
echo "Backend: ${BACKEND_IMAGE:-ghcr.io/your-username/rezepte-klaus-backend:latest}"
@@ -79,13 +79,13 @@ if [ "$HEALTHY_SERVICES" -ge 6 ]; then
echo "This may take a few minutes on first deployment."
else
echo "❌ Deployment failed! Check logs:"
docker-compose -f docker-compose.traefik.yml logs --tail=50
docker compose -f docker compose.traefik.yml logs --tail=50
exit 1
fi
echo ""
echo "📋 Useful commands:"
echo " View logs: docker-compose -f docker-compose.traefik.yml logs -f"
echo " Update: docker-compose -f docker-compose.traefik.yml pull && docker-compose -f docker-compose.traefik.yml up -d"
echo " Stop: docker-compose -f docker-compose.traefik.yml down"
echo " View Traefik logs: docker-compose -f docker-compose.traefik.yml logs traefik"
echo " View logs: docker compose -f docker compose.traefik.yml logs -f"
echo " Update: docker compose -f docker compose.traefik.yml pull && docker compose -f docker compose.traefik.yml up -d"
echo " Stop: docker compose -f docker compose.traefik.yml down"
echo " View Traefik logs: docker compose -f docker compose.traefik.yml logs traefik"

View File

@@ -1,5 +1,3 @@
version: '3.8'
services:
# MySQL Database
mysql:

View File

@@ -1,5 +1,3 @@
version: '3.8'
services:
mysql:
image: mysql:8.0

View File

@@ -1,5 +1,3 @@
version: '3.8'
services:
mysql:
image: mysql:8.0

View File

@@ -1,5 +1,3 @@
version: '3.8'
services:
traefik:
image: traefik:v3.0

View File

@@ -1,5 +1,3 @@
version: '3.8'
services:
traefik:
image: traefik:v3.0

View File

@@ -36,23 +36,23 @@ fi
# Stoppe eventuell laufende Container
echo -e "${YELLOW}🛑 Stoppe laufende Container...${NC}"
docker-compose -f docker-compose.modern.yml down
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
# 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
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
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
until docker compose -f docker compose.modern.yml exec mysql mysqladmin ping -h"localhost" --silent; do
echo -n "."
sleep 2
done
@@ -61,12 +61,12 @@ 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
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
docker compose -f docker compose.modern.yml ps
echo ""
echo -e "${GREEN}🎉 Deployment erfolgreich!${NC}"
@@ -78,7 +78,7 @@ 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 " 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 ""

View File

@@ -17,11 +17,11 @@ if ! command -v docker &> /dev/null; then
exit 1
fi
# Check if Docker Compose is installed
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose is not installed. Please install Docker Compose first:"
echo " sudo curl -L \"https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-\$(uname -s)-\$(uname -m)\" -o /usr/local/bin/docker-compose"
echo " sudo chmod +x /usr/local/bin/docker-compose"
# Check if Docker Compose plugin is available
if ! docker compose version &> /dev/null; then
echo "❌ Docker Compose plugin is not available. Please install Docker with Compose plugin:"
echo " Modern Docker installations include Compose plugin by default"
echo " Alternative: sudo apt install docker-compose-plugin"
exit 1
fi
@@ -212,11 +212,11 @@ echo "🔍 Server IP: $HOST_IP"
# Stop any existing containers
echo "🛑 Stopping existing containers..."
docker-compose -f docker-compose.development.yml down
docker compose -f docker-compose.development.yml down
# Build and start services
echo "🏗️ Building and starting services..."
docker-compose -f docker-compose.development.yml up -d --build
docker compose -f docker-compose.development.yml up -d --build
# Wait for services
echo "⏳ Waiting for services to start..."
@@ -224,7 +224,7 @@ sleep 30
# Check service health
echo "🔍 Checking service health..."
HEALTHY_SERVICES=$(docker-compose -f docker-compose.development.yml ps --filter "status=running" | grep -c "Up" || true)
HEALTHY_SERVICES=$(docker compose -f docker-compose.development.yml ps --filter "status=running" | grep -c "Up" || true)
if [ "$HEALTHY_SERVICES" -ge 4 ]; then
echo "✅ Development environment started successfully!"
@@ -239,18 +239,18 @@ if [ "$HEALTHY_SERVICES" -ge 4 ]; then
echo " Then access: http://localhost:3000"
echo ""
echo "📊 Service Status:"
docker-compose -f docker-compose.development.yml ps
docker compose -f docker-compose.development.yml ps
else
echo "❌ Some services failed to start. Check logs:"
docker-compose -f docker-compose.development.yml logs --tail=20
docker compose -f docker-compose.development.yml logs --tail=20
fi
echo ""
echo "📋 Development Commands:"
echo " View logs: docker-compose -f docker-compose.development.yml logs -f"
echo " Rebuild frontend: docker-compose -f docker-compose.development.yml build frontend && docker-compose -f docker-compose.development.yml restart frontend"
echo " Rebuild backend: docker-compose -f docker-compose.development.yml build backend && docker-compose -f docker-compose.development.yml restart backend"
echo " Stop: docker-compose -f docker-compose.development.yml down"
echo " View logs: docker compose -f docker-compose.development.yml logs -f"
echo " Rebuild frontend: docker compose -f docker-compose.development.yml build frontend && docker compose -f docker-compose.development.yml restart frontend"
echo " Rebuild backend: docker compose -f docker-compose.development.yml build backend && docker compose -f docker-compose.development.yml restart backend"
echo " Stop: docker compose -f docker-compose.development.yml down"
EOF
chmod +x start-development.sh

View File

@@ -64,20 +64,20 @@ if [[ ! $HOST_IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
fi
fi
# Export HOST_IP for docker-compose
# Export HOST_IP for docker compose
export HOST_IP
echo "🛑 Stopping any existing containers..."
docker-compose -f docker-compose.local-network.yml down
docker compose -f docker compose.local-network.yml down
echo "🏗️ Building and starting containers for local network access..."
docker-compose -f docker-compose.local-network.yml up --build -d
docker compose -f docker compose.local-network.yml up --build -d
echo "⏳ Waiting for services to start..."
sleep 20
echo "🔍 Checking service health..."
if docker-compose -f docker-compose.local-network.yml ps | grep -q "Up"; then
if docker compose -f docker compose.local-network.yml ps | grep -q "Up"; then
echo "✅ Services started successfully!"
echo ""
echo "🌐 Your application is now accessible from:"
@@ -86,18 +86,18 @@ if docker-compose -f docker-compose.local-network.yml ps | grep -q "Up"; then
echo " API endpoint: http://$HOST_IP:3001/api"
echo ""
echo "📊 Service Status:"
docker-compose -f docker-compose.local-network.yml ps
docker compose -f docker compose.local-network.yml ps
echo ""
echo "💡 Share this URL with other devices on your network:"
echo " http://$HOST_IP:3000"
else
echo "❌ Failed to start services. Check logs:"
docker-compose -f docker-compose.local-network.yml logs --tail=20
docker compose -f docker compose.local-network.yml logs --tail=20
exit 1
fi
echo ""
echo "📋 Useful commands:"
echo " View logs: docker-compose -f docker-compose.local-network.yml logs -f"
echo " Stop: docker-compose -f docker-compose.local-network.yml down"
echo " Restart: docker-compose -f docker-compose.local-network.yml restart"
echo " View logs: docker compose -f docker compose.local-network.yml logs -f"
echo " Stop: docker compose -f docker compose.local-network.yml down"
echo " Restart: docker compose -f docker compose.local-network.yml restart"