#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")/.." IMAGE_NAME="${IMAGE_NAME:-fabric-trade-api}" IMAGE_TAG="${IMAGE_TAG:-latest}" FULL_IMAGE="${IMAGE_NAME}:${IMAGE_TAG}" OUT_DIR="${OUT_DIR:-./dist-docker}" OUT_TAR="${OUT_DIR}/${IMAGE_NAME}-${IMAGE_TAG}.tar" NPM_REGISTRY="${NPM_REGISTRY:-https://registry.npmmirror.com}" mkdir -p "$OUT_DIR" echo "==> Building image locally: $FULL_IMAGE" echo "==> npm registry: $NPM_REGISTRY" docker build \ --build-arg "NPM_REGISTRY=${NPM_REGISTRY}" \ -t "$FULL_IMAGE" \ -f Dockerfile \ . echo "==> Saving image to $OUT_TAR ..." docker save "$FULL_IMAGE" -o "$OUT_TAR" # فشرده‌سازی برای آپلود سریع‌تر echo "==> Compressing..." gzip -f -k "$OUT_TAR" echo "" echo "آماده:" echo " $OUT_TAR" echo " ${OUT_TAR}.gz" ls -lh "$OUT_TAR" "${OUT_TAR}.gz" echo "" echo "آپلود روی سرور:" echo " scp ${OUT_TAR}.gz root@SERVER:/opt/parche/server/" echo "" echo "روی سرور:" echo " gunzip -f fabric-trade-api-latest.tar.gz" echo " docker load -i fabric-trade-api-latest.tar" echo " RUN_SEED=true docker compose -f docker-compose.image.yml up -d"