#!/bin/bash # Shared helpers for jetty-slim scripts. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" cd "$ROOT_DIR" if [ -f site.sh ]; then # shellcheck disable=SC1091 source ./site.sh elif [ -f site.sh.example ]; then echo "NOTE: no site.sh — using site.sh.example defaults (copy to site.sh to customize)." # shellcheck disable=SC1091 source ./site.sh.example fi : "${USERID:=$(id -u)}" : "${GROUPID:=$(id -g)}" export USERID GROUPID export IMAGE="${IMAGE:-thoughtframe-runtime}" export TAG="${TAG:-dev}" export CONTAINER_NAME="${CONTAINER_NAME:-thoughtframe}" export COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME:-thoughtframe}" export HTTP_PORT="${HTTP_PORT:-}" export TZ="${TZ:-America/Halifax}" export JAVA_OPTS="${JAVA_OPTS:--Xms512m -Xmx2g}" export WEBAPP_HOST="${WEBAPP_HOST:-../runtime/webapp}" export DATA_HOST="${DATA_HOST:-../runtime/data}" export ELASTIC_HOST="${ELASTIC_HOST:-../runtime/elastic}" export BOOTSTRAP_WAR_URL="${BOOTSTRAP_WAR_URL:-}" export NETWORK_NAME="${NETWORK_NAME:-}" export IPV4_ADDRESS="${IPV4_ADDRESS:-}" export OPENSEARCH_HTTP_HOST="${OPENSEARCH_HTTP_HOST:-127.0.0.1}" export OPENSEARCH_HTTP_PORT="${OPENSEARCH_HTTP_PORT:-0}" COMPOSE=(docker compose -f compose.yml) if [ -n "${NETWORK_NAME}" ]; then if [ -z "${IPV4_ADDRESS}" ]; then echo "NETWORK_NAME is set but IPV4_ADDRESS is empty" >&2 exit 1 fi COMPOSE+=(-f compose.network.yml) fi if [ -n "${HTTP_PORT}" ]; then COMPOSE+=(-f compose.ports.yml) fi compose() { # Compose substitutes ${VAR} from this process environment (no .env file). "${COMPOSE[@]}" "$@" }