#!/bin/bash set -euo pipefail # Mosaic Stack - Build Images for Swarm Deployment # This script builds all Docker images needed for the stack echo "🔨 Building Mosaic Stack images for swarm deployment..." echo "" # Build postgres with pgvector echo "📦 Building postgres..." docker build -t stack-postgres:latest -f docker/postgres/Dockerfile docker/postgres/ # Build openbao echo "📦 Building openbao..." docker build -t stack-openbao:latest -f docker/openbao/Dockerfile docker/openbao/ # Build API echo "📦 Building API..." docker build -t stack-api:latest -f apps/api/Dockerfile . --build-arg NODE_ENV=production # Build orchestrator echo "📦 Building orchestrator..." docker build -t stack-orchestrator:latest -f apps/orchestrator/Dockerfile . # Build web (using NEXT_PUBLIC_API_URL from .env if available) echo "📦 Building web..." if [ -f .env ]; then NEXT_PUBLIC_API_URL=$(grep "^NEXT_PUBLIC_API_URL=" .env | cut -d= -f2 || echo "https://api.mosaicstack.dev") else NEXT_PUBLIC_API_URL="https://api.mosaicstack.dev" fi docker build -t stack-web:latest -f apps/web/Dockerfile . --build-arg NEXT_PUBLIC_API_URL="$NEXT_PUBLIC_API_URL" echo "" echo "✅ All images built successfully!" echo "" echo "Built images:" docker images | grep "^stack-" echo "" echo "Next step:" echo " Deploy to swarm: ./deploy-swarm.sh mosaic"