Line 1521 in gateway/config.py: if api_server_enabled or api_server_key: The compose.yml sets API_SERVER_KEY=hermes_local_key, which was enough to enable the API server even with API_SERVER_ENABLED=false.
33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Multi-gateway launcher for HERMES_PROFILES env var.
|
|
# Reads comma-separated profile names, spawns one gateway per profile.
|
|
# Designed to run before the main entrypoint — gateways run in background.
|
|
set -e
|
|
|
|
if [ -z "${HERMES_PROFILES}" ]; then
|
|
echo "HERMES_PROFILES not set — skipping multi-gateway launch"
|
|
exit 0
|
|
fi
|
|
|
|
# Source venv to make 'hermes' available (entrypoint.sh sources it later,
|
|
# but we need it NOW for the background gateways)
|
|
HERMES_BIN="/opt/hermes/.venv/bin/hermes"
|
|
if [ ! -x "$HERMES_BIN" ]; then
|
|
echo "ERROR: hermes binary not found at $HERMES_BIN"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p /opt/data/logs
|
|
|
|
IFS=',' read -ra PROFILES <<< "${HERMES_PROFILES}"
|
|
for profile in "${PROFILES[@]}"; do
|
|
profile="$(echo "${profile}" | xargs)" # trim whitespace
|
|
[ -z "${profile}" ] && continue
|
|
|
|
echo "Starting gateway for profile: ${profile}"
|
|
nohup env API_SERVER_ENABLED=false API_SERVER_KEY= gosu hermes "$HERMES_BIN" --profile "${profile}" gateway run \
|
|
>> "/opt/data/logs/gateway-${profile}.log" 2>&1 &
|
|
done
|
|
|
|
echo "All gateways launched: ${HERMES_PROFILES}"
|