#!/bin/bash set -e echo "🚀 Starting Rezepte Development Environment on Linux" echo "=========================================================" # Load environment variables if [ -f .env.development ]; then export $(cat .env.development | grep -v '^#' | xargs) else echo "❌ Error: .env.development file not found!" echo "Please run setup-development.sh first." exit 1 fi echo "🔍 Server IP: $HOST_IP" # Stop any existing containers echo "🛑 Stopping existing containers..." 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 # Wait for services echo "⏳ Waiting for services to start..." 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) if [ "$HEALTHY_SERVICES" -ge 4 ]; then echo "✅ Development environment started successfully!" echo "" echo "🌐 Access URLs:" echo " Frontend: http://$HOST_IP:3000" echo " Backend API: http://$HOST_IP:3001/api" echo " phpMyAdmin: http://$HOST_IP:8080" echo "" echo "🔒 SSH Tunnel (for secure access from Mac):" echo " ssh -L 3000:localhost:3000 -L 3001:localhost:3001 -L 8080:localhost:8080 user@$HOST_IP" echo " Then access: http://localhost:3000" echo "" echo "📊 Service Status:" 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 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"