#!/usr/bin/env bash set -euo pipefail # Usage: # DOCKERHUB_USERNAME= DOCKERHUB_TOKEN= ./scripts/deploy_dockerhub.sh [tag] TAG="${1:-latest}" IMAGE_NAME="medicaltriage" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" if [[ -f "$ROOT_DIR/.env" ]]; then set -a # shellcheck disable=SC1090 source "$ROOT_DIR/.env" set +a fi DOCKERHUB_USERNAME="${DOCKERHUB_USERNAME:-}" DOCKERHUB_TOKEN="${DOCKERHUB_TOKEN:-}" if [[ -z "$DOCKERHUB_USERNAME" || -z "$DOCKERHUB_TOKEN" ]]; then echo "Error: DOCKERHUB_USERNAME and DOCKERHUB_TOKEN are required." exit 1 fi FULL_IMAGE="${DOCKERHUB_USERNAME}/${IMAGE_NAME}:${TAG}" echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin docker build -t "$FULL_IMAGE" . docker push "$FULL_IMAGE" echo "Pushed: $FULL_IMAGE"