#!/bin/bash set -e # Angepasst aus dem readin-deploy.sh (bzw. urspr. /Projekte/Logbuch/deploy.sh) # Nur linux/amd64, nativer Build auf esprimo (amd64) -> kein buildx/qemu, # eigener Dockerfile-Name (Dockerfile_sensorapi). REGISTRY="docker.citysensor.de" IMAGE_NAME="sensorapi" TAG="${1:-latest}" PLATFORM="linux/amd64" DOCKERFILE="Dockerfile_sensorapi" FULL_IMAGE="${REGISTRY}/${IMAGE_NAME}:${TAG}" BUILD_DATE=$(date +%d.%m.%Y) echo "==========================================" echo "sensorapi Deploy Script (amd64)" echo "==========================================" echo "Registry: ${REGISTRY}" echo "Image: ${IMAGE_NAME}" echo "Tag: ${TAG}" echo "Platform: ${PLATFORM}" echo "Dockerfile: ${DOCKERFILE}" echo "Build-Datum: ${BUILD_DATE}" echo "==========================================" echo "" # Hinweis: Login wird uebersprungen, weil die Credentials fuer ${REGISTRY} # bereits in ~/.docker/config.json liegen. # Bei Bedarf manuell: docker login ${REGISTRY} echo ">>> Baue Image (nur ${PLATFORM}, nativ) ..." docker build \ --platform "${PLATFORM}" \ -f "${DOCKERFILE}" \ -t "${FULL_IMAGE}" \ . echo "" echo ">>> Pushe ${FULL_IMAGE} ..." docker push "${FULL_IMAGE}" echo "" # Falls ein anderer Tag als 'latest' gebaut wurde, zusaetzlich latest setzen+pushen if [ "${TAG}" != "latest" ]; then echo ">>> Tagge zusaetzlich als :latest ..." docker tag "${FULL_IMAGE}" "${REGISTRY}/${IMAGE_NAME}:latest" docker push "${REGISTRY}/${IMAGE_NAME}:latest" echo "" fi echo "==========================================" echo "Build + Push fertig: ${FULL_IMAGE}" echo "==========================================" echo "" echo "Danach Stack aktualisieren:" echo " cd /opt/stacks/esprimo/noisesensors && docker compose up -d sensorapi"