#!/bin/bash
# Host / process wiring for jetty-slim (not application config).
# Copy to site.sh and adjust. Scripts source this and pass vars into compose.
#
# Keep product settings out of here — those belong in the app / catalog / DB
# so they can change at runtime without SSH or a container restart.

export USERID="${USERID:-$(id -u)}"
export GROUPID="${GROUPID:-$(id -g)}"

export IMAGE="${IMAGE:-thoughtframe-runtime}"
export TAG="${TAG:-dev}"
export CONTAINER_NAME="${CONTAINER_NAME:-thoughtframe}"
export COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME:-thoughtframe}"
export TZ="${TZ:-America/Halifax}"
export JAVA_OPTS="${JAVA_OPTS:--Xms512m -Xmx2g}"

# Paths relative to docker/jetty-slim/ (or absolute for /media/thoughtframe/... sites)
export WEBAPP_HOST="${WEBAPP_HOST:-../runtime/webapp}"
export DATA_HOST="${DATA_HOST:-../runtime/data}"
export ELASTIC_HOST="${ELASTIC_HOST:-../runtime/elastic}"

# Bulk storage disk mounted at /data in the container. Sites with a data volume set /data.
export DATADISK_HOST="${DATADISK_HOST:-../runtime/datadisk}"

# Host port publish (laptop convenience). Leave empty on server — use IPV4_ADDRESS only.
# export HTTP_PORT=8080
export HTTP_PORT="${HTTP_PORT:-}"

# Fixed IP on Docker network "thoughtframe" (leave empty for default compose bridge):
# export NETWORK_NAME=thoughtframe
# export IPV4_ADDRESS=172.25.0.110
export NETWORK_NAME="${NETWORK_NAME:-}"
export IPV4_ADDRESS="${IPV4_ADDRESS:-}"

# Embedded OpenSearch HTTP. Defaults are private to the container process.
# Fusion may set 0.0.0.0 and 9200 to expose it only on its 172.25 Docker network;
# do not add a Docker host-port mapping for 9200.
export OPENSEARCH_HTTP_HOST="${OPENSEARCH_HTTP_HOST:-127.0.0.1}"
export OPENSEARCH_HTTP_PORT="${OPENSEARCH_HTTP_PORT:-0}"

# Registry on Jenkins host (Tailscale). Used by publish.sh / dockerPush.
export REGISTRY="${REGISTRY:-registry.thoughtframe.ai}"

# Optional empty-ROOT bootstrap
export BOOTSTRAP_WAR_URL="${BOOTSTRAP_WAR_URL:-}"
