#!/usr/bin/env bash # Production custom build for docker/docker-compose.prod.yml. # # Dokploy → Compose resource → Advanced → Custom Build Command: # bash scripts/build-prod.sh # # Serializes image builds so an 8 GB host does not OOM during export # (parallel export of five targets → kernel exit 255, no Docker error). set -euo pipefail repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$repo_root" export DOCKER_BUILDKIT=1 compose_file="${COMPOSE_FILE:-docker/docker-compose.prod.yml}" compose() { docker compose --project-directory "$repo_root" \ -f "$compose_file" \ "$@" } for service in collab mcp orchestrator worker web; do echo "[build-prod] building ${service}..." compose build --pull "$service" done echo "[build-prod] done."