#!/bin/bash if [ $# -eq 0 ]; then echo "Usage: $0 " echo "Example: $0 base-debian" exit 1 fi IMAGE_NAME=${1:-base-debian} echo "Building Docker image: $IMAGE_NAME" REPO="registry.tomastm.com" TAG_LATEST="latest" BUILD_DIR="./${IMAGE_NAME}" if [ ! -d "${BUILD_DIR}" ]; then echo "❌ Error: Directory '${BUILD_DIR}' does not exist." exit 1 fi UID=$(id -u) GID=$(id -g) COMMIT_ID=$(git rev-parse --short HEAD) IMAGE_LATEST="${REPO}/${IMAGE_NAME}:${TAG_LATEST}" IMAGE_COMMIT="${REPO}/${IMAGE_NAME}:${COMMIT_ID}" docker build \ -t ${IMAGE_COMMIT} \ --build-arg UID=${UID} \ --build-arg GID=${GID} \ ${BUILD_DIR} docker tag ${IMAGE_COMMIT} ${IMAGE_LATEST} echo "✅ Successfully built and tagged:" echo " 📌 ${IMAGE_COMMIT}" echo " 🔄 ${IMAGE_LATEST}" read -p "🚀 Do you want to push the image to ${REPO}? (y/N): " PUSH_CONFIRM if [[ "$PUSH_CONFIRM" =~ ^[Yy]$ ]]; then echo "📤 Pushing images..." docker push ${IMAGE_COMMIT} docker push ${IMAGE_LATEST} echo "✅ Successfully pushed images to ${REPO}" else echo "â„šī¸ Skipping push. You can manually push later with:" echo " docker push ${IMAGE_COMMIT}" echo " docker push ${IMAGE_LATEST}" fi