Files
soleprint/artery/room/ctrl/build.sh
2025-12-31 08:21:07 -03:00

45 lines
865 B
Bash
Executable File

#!/bin/bash
# Build room Docker images
#
# Usage:
# ./build.sh # Build all
# ./build.sh <service> # Build specific service
# ./build.sh --no-cache # Force rebuild
#
# This is a TEMPLATE. Copy to your room's ctrl/ and customize.
set -e
cd "$(dirname "$0")/.."
NO_CACHE=""
TARGET="all"
SERVICE_DIRS=()
for dir in */; do
[ -f "$dir/docker-compose.yml" ] && SERVICE_DIRS+=("${dir%/}")
done
for arg in "$@"; do
case $arg in
--no-cache) NO_CACHE="--no-cache" ;;
*) [[ " ${SERVICE_DIRS[*]} " =~ " ${arg} " ]] && TARGET="$arg" ;;
esac
done
build_service() {
local svc=$1
echo "Building $svc..."
(cd "$svc" && docker compose build $NO_CACHE)
}
if [ "$TARGET" = "all" ]; then
for svc in "${SERVICE_DIRS[@]}"; do
build_service "$svc"
done
else
build_service "$TARGET"
fi
echo "Done."