pipeline {
    agent any
    environment {
        IMAGE_NAME = "astro-portfolio"
        CONTAINER_NAME = "portfolio"
        DOCKER_NETWORK = "reverse-proxy"
        DOCKER_HOST = "unix:///var/run/docker.sock"
    }
    stages {
        stage('Checkout') {
            steps {
                checkout scm
            }
        }
        stage('Docker Build') {
            steps {
                sh "docker build -t ${IMAGE_NAME} ."
            }
        }
        stage('Deploy') {
            steps {
                sh "docker stop ${CONTAINER_NAME} || true"
                sh "docker rm ${CONTAINER_NAME} || true"
                sh "docker run -d --name ${CONTAINER_NAME} --network ${DOCKER_NETWORK} ${IMAGE_NAME}"
            }
        }
        stage('Cleanup') {
            steps {
                sh "docker image prune -f"
            }
        }
    }
    post {
        success { echo "Success !" }
        failure { echo "Failed." }
    }
}
