pipeline {
    agent any

    environment {
        REGISTRY_HOST = 'gitea.mindboost.team'
        IMAGE_NAME    = 'interkollektives/lichterei-web'
        IMAGE_TAG     = '0.0.1'
        IMAGE_REF     = "${REGISTRY_HOST}/${IMAGE_NAME}:${IMAGE_TAG}"
    }

    stages {
        stage('Checkout') {
            steps {
                checkout scm
            }
        }

        stage('Build image') {
            steps {
                sh """
                    docker build \
                      --file kirby/Dockerfile \
                      --tag ${IMAGE_REF} \
                      kirby
                """
            }
        }

        stage('Push image') {
            steps {
                withCredentials([usernamePassword(
                    credentialsId: 'gitea-container-registry',
                    usernameVariable: 'REGISTRY_USER',
                    passwordVariable: 'REGISTRY_PASSWORD'
                )]) {
                    sh """
                        echo "${REGISTRY_PASSWORD}" | docker login ${REGISTRY_HOST} \
                            --username "${REGISTRY_USER}" --password-stdin
                        docker push ${IMAGE_REF}
                        docker logout ${REGISTRY_HOST}
                    """
                }
            }
        }
    }

    post {
        always {
            sh 'docker image prune --force'
        }
    }
}
