49 lines
1.1 KiB
Bash
Executable File
49 lines
1.1 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 }'`
|
|
start_service_withalert "$SERVICE" "$NC_COMMAND"
|
|
|
|
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
|