97 lines
2.9 KiB
Bash
Executable File
97 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Server-side script to fix git-integration deployment issues
|
|
# Run this script on ubuntu@160.187.166.39
|
|
|
|
set -e
|
|
|
|
echo "🚀 Fixing git-integration service deployment on server..."
|
|
echo "============================================================"
|
|
|
|
# Get current directory
|
|
CURRENT_DIR=$(pwd)
|
|
echo "📍 Current directory: $CURRENT_DIR"
|
|
|
|
# Check if we're in the right directory
|
|
if [[ ! -f "docker-compose.yml" ]]; then
|
|
echo "❌ Error: docker-compose.yml not found. Please run this script from the codenuk-backend-live directory."
|
|
echo "Expected path: /home/ubuntu/codenuk-backend-live"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Found docker-compose.yml - proceeding with fix..."
|
|
|
|
# Step 1: Stop the failing git-integration service
|
|
echo ""
|
|
echo "🛑 Step 1: Stopping git-integration service..."
|
|
docker compose stop git-integration 2>/dev/null || true
|
|
docker compose rm -f git-integration 2>/dev/null || true
|
|
|
|
# Step 2: Create the git-repos directory structure
|
|
echo ""
|
|
echo "📁 Step 2: Creating git-repos directory structure..."
|
|
mkdir -p git-repos
|
|
mkdir -p git-repos/diffs
|
|
|
|
# Step 3: Set proper ownership and permissions
|
|
echo ""
|
|
echo "👤 Step 3: Setting proper ownership and permissions..."
|
|
echo "Setting ownership to 1001:1001 (matches container user)..."
|
|
sudo chown -R 1001:1001 git-repos/
|
|
echo "Setting permissions to 755..."
|
|
chmod -R 755 git-repos/
|
|
|
|
# Step 4: Verify the directory setup
|
|
echo ""
|
|
echo "✅ Step 4: Verifying directory setup..."
|
|
echo "Directory listing:"
|
|
ls -la git-repos/
|
|
echo ""
|
|
echo "Permissions check:"
|
|
stat git-repos/
|
|
stat git-repos/diffs/
|
|
|
|
# Step 5: Rebuild the git-integration service
|
|
echo ""
|
|
echo "🔨 Step 5: Rebuilding git-integration service..."
|
|
docker compose build --no-cache git-integration
|
|
|
|
# Step 6: Start the git-integration service
|
|
echo ""
|
|
echo "🚀 Step 6: Starting git-integration service..."
|
|
docker compose up -d git-integration
|
|
|
|
# Step 7: Wait for service to start
|
|
echo ""
|
|
echo "⏳ Step 7: Waiting for service to start (30 seconds)..."
|
|
sleep 30
|
|
|
|
# Step 8: Check service status
|
|
echo ""
|
|
echo "🏥 Step 8: Checking service status..."
|
|
echo "Service status:"
|
|
docker compose ps git-integration
|
|
|
|
echo ""
|
|
echo "Service health check:"
|
|
docker compose exec git-integration curl -f http://localhost:8012/health 2>/dev/null || echo "Health check failed - service may still be starting"
|
|
|
|
# Step 9: Show recent logs
|
|
echo ""
|
|
echo "📋 Step 9: Recent service logs:"
|
|
docker compose logs --tail=30 git-integration
|
|
|
|
echo ""
|
|
echo "============================================================"
|
|
echo "🎉 Git-integration service fix completed!"
|
|
echo "============================================================"
|
|
echo ""
|
|
echo "✅ Directories created with proper permissions"
|
|
echo "✅ Service rebuilt and restarted"
|
|
echo ""
|
|
echo "If the service is still failing, check the logs with:"
|
|
echo "docker compose logs git-integration"
|
|
echo ""
|
|
echo "To check if the service is healthy:"
|
|
echo "curl http://localhost:8012/health"
|