Files
stack/build-images.sh
Jason Woltje 8b78ffe4a0
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
refactor(ci): Rename images to stack-* prefix for clarity
Renamed all Docker images from generic names to stack-* prefix:
- api → stack-api
- web → stack-web
- postgres → stack-postgres
- openbao → stack-openbao
- orchestrator → stack-orchestrator

This prevents confusion with other repositories in the mosaic/
organization on git.mosaicstack.dev.

Registry images:
  git.mosaicstack.dev/mosaic/stack-api
  git.mosaicstack.dev/mosaic/stack-web
  git.mosaicstack.dev/mosaic/stack-postgres
  git.mosaicstack.dev/mosaic/stack-openbao
  git.mosaicstack.dev/mosaic/stack-orchestrator

Local images:
  stack-api:latest
  stack-web:latest
  stack-postgres:latest
  stack-openbao:latest
  stack-orchestrator:latest

Updated files:
- .woodpecker.yml (all build steps + package linking)
- docker-compose.swarm.yml (all image references)
- build-images.sh (local image names)
- deploy-swarm.sh (image validation)
2026-02-08 02:03:31 -06:00

44 lines
1.3 KiB
Bash
Executable File

#!/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"