#!/bin/bash
die() { echo >&2 "$@" ; exit 1 ; }

which jq > /dev/null || die "jq not installed?"
which docker-compose > /dev/null || die "docker-compose not installed?"

source ./env.production || die "no production env?"

if [ -z "$DOMAIN_NAME" ]; then
	die "\$DOMAIN_NAME not set; things will break"
fi

SERVICES=nginx # there is no host
SERVICES+=\ keycloak
SERVICES+=\ hedgedoc
SERVICES+=\ nextcloud
SERVICES+=\ mastodon
SERVICES+=\ grafana
SERVICES+=\ matrix

HOSTS+=\ $KEYCLOAK_HOST
HOSTS+=\ $HEDGEDOC_HOST
HOSTS+=\ $NEXTCLOUD_HOST
HOSTS+=\ $MASTODON_HOST
HOSTS+=\ $GRAFANA_HOST
HOSTS+=\ $MATRIX_HOST

for host in $HOSTS ; do
	host $host > /dev/null || die "$host: DNS entry not present?"
done

for service in $SERVICES ; do
	echo "$service: starting"
	./$service/setup || die "$server: failed to start"
done