diff --git a/start.sh b/start.sh index bf1e3451..f5f3b305 100755 --- a/start.sh +++ b/start.sh @@ -5,4 +5,15 @@ if [ -z "$1" ] || [ ! -f "/root/rpc/$1.yml" ]; then exit 1 fi -docker compose up -d $(cat /root/rpc/$1.yml | yaml2json - | jq '.services' | jq -r 'keys[]' | tr '\n' ' ') +services=$(cat "/root/rpc/$1.yml" | yaml2json - | jq '.services' | jq -r 'keys[]' | tr '\n' ' ') +if [ -z "$services" ]; then + echo "FATAL: no services found in /root/rpc/$1.yml" >&2 + exit 1 +fi + +docker compose -f /root/rpc/base.yml -f "/root/rpc/$1.yml" up -d $services +rc=$? +if [ $rc -ne 0 ]; then + echo "FATAL: docker compose up failed for $1 (exit $rc)" >&2 + exit $rc +fi diff --git a/stop.sh b/stop.sh index 14aa38d2..59dddc4a 100755 --- a/stop.sh +++ b/stop.sh @@ -5,4 +5,15 @@ if [ -z "$1" ] || [ ! -f "/root/rpc/$1.yml" ]; then exit 1 fi -docker compose stop $(cat /root/rpc/$1.yml | yaml2json - | jq '.services' | jq -r 'keys[]' | tr '\n' ' ') +services=$(cat "/root/rpc/$1.yml" | yaml2json - | jq '.services' | jq -r 'keys[]' | tr '\n' ' ') +if [ -z "$services" ]; then + echo "FATAL: no services found in /root/rpc/$1.yml" >&2 + exit 1 +fi + +docker compose -f /root/rpc/base.yml -f "/root/rpc/$1.yml" stop $services +rc=$? +if [ $rc -ne 0 ]; then + echo "FATAL: docker compose stop failed for $1 (exit $rc)" >&2 + exit $rc +fi