pipeline {
    agent any

    stages {

        stage('Checkout') {
            steps {
                echo '✅ Code checked out from Gitea'
            }
        }

        stage('Build Docker Image') {
            steps {
                sh '''
                    docker build -t management-platform:latest ./platform/
                    echo "✅ Docker image built"
                '''
            }
        }

        stage('Deploy to Server 1') {
            steps {
                sh '''
                    docker stop management-platform 2>/dev/null || true
                    docker rm management-platform 2>/dev/null || true
                    docker run -d \
                        --name management-platform \
                        --restart unless-stopped \
                        -p 8088:5000 \
                        -e HOSTNAME=vmi3024229 \
                        -v /var/run/docker.sock:/var/run/docker.sock \
                        -v /root:/root \
                        -v /root/management-platform/config.py:/app/config.py:ro \
                        -v /root/management-platform/modules:/app/modules:ro \
                        management-platform:latest
                    sleep 4
                    docker ps | grep management-platform && echo "✅ Deployed OK" || exit 1
                '''
            }
        
        }

        stage('Health Check') {
            steps {
                sh '''
                    sleep 3
                    curl -f http://173.249.20.244:8088/ && echo "✅ Platform responding" || echo "⚠️ Health check failed"
                '''
            }
        }
    }

    post {
        success { echo '✅ Pipeline succeeded — platform deployed' }
        failure { echo '❌ Pipeline failed — check logs' }
    }
}