#!/bin/bash # Build and push the J621 frontend image (amd64 + arm64) to the private Gitea # registry as :latest and :. # # Usage: ./push_frontend.sh [commit-sha] set -euo pipefail cd "$(dirname "$0")/.." REGISTRY="gitea.rainbow-herring.ts.net/jakebreath/j621-frontend" REGISTRY_HOST="$(printf '%s' "$REGISTRY" | cut -d/ -f1)" SHA="${1:-$(git rev-parse --short HEAD)}" BUILDER=multiarch PLATFORMS="linux/amd64,linux/arm64" echo "==> Logging in to $REGISTRY_HOST ..." docker login "$REGISTRY_HOST" if ! docker buildx inspect "$BUILDER" >/dev/null 2>&1; then echo "==> Creating buildx builder '$BUILDER' ..." docker buildx create --name "$BUILDER" --driver docker-container \ --platform "$PLATFORMS" --bootstrap else docker buildx inspect --bootstrap "$BUILDER" >/dev/null fi echo "==> Building + pushing $PLATFORMS -> $REGISTRY:{latest,$SHA} ..." docker buildx build --builder "$BUILDER" --push \ --platform "$PLATFORMS" \ -f deploy/J621-Frontend \ -t "$REGISTRY:latest" \ -t "$REGISTRY:$SHA" \ . echo "==> Done. On the deploy host:" echo " docker login $REGISTRY_HOST && docker compose pull && docker compose up -d"