#!/usr/bin/env bash # Baut das Quivio-Image und pusht es in die Gitea Container Registry. # Verwendung: # bin/build-and-push.sh # Version aus quivio/__init__.py # VERSION=0.6.0 bin/build-and-push.sh # explizite Version # bin/build-and-push.sh --load # baut + laedt nur (kein Push) set -euo pipefail cd "$(dirname "$0")/.." if [ -z "${VERSION:-}" ]; then VERSION=$(python3 bin/get-version.py) fi # Gitea-Registry-Pfad. Wichtig: lowercase, weil Docker-Repository-Namen # kleingeschrieben sein muessen (Gitea-Owner kann gross sein, Docker nicht). REGISTRY="${REGISTRY:-git.pkop.de}" OWNER_LC=$(echo "${OWNER:-Vibecode}" | tr '[:upper:]' '[:lower:]') REPO_LC=$(echo "${REPO:-watchlist}" | tr '[:upper:]' '[:lower:]') LOCAL_TAG="quivio:${VERSION}" REMOTE_TAG="${REGISTRY}/${OWNER_LC}/${REPO_LC}:${VERSION}" echo ">> Building ${LOCAL_TAG}" docker build -t "${LOCAL_TAG}" . echo ">> Tagging as ${REMOTE_TAG}" docker tag "${LOCAL_TAG}" "${REMOTE_TAG}" if [ "${1:-}" = "--load" ]; then echo ">> Loaded into local Docker. Skipping push." exit 0 fi echo ">> Pushing to ${REMOTE_TAG}" docker push "${REMOTE_TAG}" echo ">> Done." echo " Pull with: docker pull ${REMOTE_TAG}" echo " Run with: docker run -d --name quivio -p 8000:8000 -v quivio-data:/data ${REMOTE_TAG}"