test/bin/start

50 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#
# Federated Start Script
. /federated/lib/functions.sh
usage() {
printf -v SERVICES_JOINED '%s|' "${SERVICES[@]}"
echo "$0: ${SERVICES_JOINED%|}"
exit 2
}
startservice() {
. /federated/bin/.env
echo -ne "* Starting $SERVICE.."
if [ "$(docker container inspect -f '{{.State.Status}}' $SERVICE 2>/dev/null)" = "running" ]; then
echo -ne "is already running.\n"
else
if [ -z "$ALERTS_EMAIL" ]; then
cd /federated/apps/$SERVICE && docker-compose -f docker-compose.yml -p $SERVICE up -d &> /dev/null
echo -ne "done.\n"
else
spin &
SPINPID=$!
NC_COMMAND=`grep start_service /federated/lib/$SERVICE.sh | awk -F\" '{ print $4 }'`
RETRY=`grep start_service /federated/lib/caddy.sh | awk -F\" '{ print $6 }'`
start_service_withalert "$SERVICE" "$NC_COMMAND" "$RETRY"
kill -9 $SPINPID &> /dev/null
echo -ne "done.\n"
fi
fi
}
startservice_all() {
for i in "${SERVICES[@]}"; do
echo "* Starting $i.."
cd /federated/apps/$i && docker-compose -f docker-compose.yml -p $i up -d
done
}
[ $# != 1 ] && usage
SERVICE=$1
[ "$SERVICE" = "all" ] && startservice_all
if printf '%s\0' "${SERVICES[@]}" | grep -Fxqz -- "$SERVICE"; then
startservice
else
usage
fi