#!/bin/bash set -e # Angepasst aus readin/deploy.sh # Unterschied: Build-Kontext ist das Repository-Wurzelverzeichnis, weil # readarchive und readin sich die Module unter common/ teilen. REGISTRY="docker.citysensor.de" IMAGE_NAME="readarchive" TAG="${1:-latest}" PLATFORM="linux/amd64" DOCKERFILE="readarchive/Dockerfile_readarchive" FULL_IMAGE="${REGISTRY}/${IMAGE_NAME}:${TAG}" BUILD_DATE=$(date +%d.%m.%Y) # ins Repository-Wurzelverzeichnis wechseln (eine Ebene ueber diesem Skript) cd "$(dirname "$0")/.." echo "==========================================" echo "readarchive Deploy Script (amd64)" echo "==========================================" echo "Registry: ${REGISTRY}" echo "Image: ${IMAGE_NAME}" echo "Tag: ${TAG}" echo "Platform: ${PLATFORM}" echo "Dockerfile: ${DOCKERFILE}" echo "Kontext: $(pwd)" echo "Build-Datum: ${BUILD_DATE}" echo "==========================================" echo "" # Hinweis: Login wird uebersprungen, weil die Credentials fuer ${REGISTRY} # bereits in ~/.docker/config.json liegen (Container laufen bereits aus dieser Registry). # 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 "readarchive ist kein Dauerdienst, sondern ein Lauf mit Parametern:" echo " cd /opt/stacks/esprimo/noisesensors" echo " docker compose run --rm readarchive -t noise -s 2026-07-25 -e 2026-07-29"