diff --git a/src/sys/tests/docker-compose.yml b/src/sys/tests/docker-compose.yml index 70e0268..7195b9b 100644 --- a/src/sys/tests/docker-compose.yml +++ b/src/sys/tests/docker-compose.yml @@ -241,6 +241,12 @@ services: environment: - ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133} - ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015} + # Frontend runtime-injected external ports (used to render hyperlinks) + - EXTERNAL_MASTER_PORT=${WEB_PROXY_PORT_8085:-8085} + - EXTERNAL_ALERTMANAGER_PORT=${WEB_PROXY_PORT_8084:-8084} + - EXTERNAL_GRAFANA_PORT=${WEB_PROXY_PORT_8081:-8081} + - EXTERNAL_PROMETHEUS_PORT=${WEB_PROXY_PORT_8082:-8082} + - EXTERNAL_KIBANA_PORT=${WEB_PROXY_PORT_8083:-8083} volumes: - ./private/argus/etc:/private/argus/etc networks: diff --git a/src/web/build_tools/frontend/start-web-supervised.sh b/src/web/build_tools/frontend/start-web-supervised.sh index b5cfc76..a7e5429 100644 --- a/src/web/build_tools/frontend/start-web-supervised.sh +++ b/src/web/build_tools/frontend/start-web-supervised.sh @@ -28,5 +28,26 @@ chmod 755 "$WEB_DOMAIN_FILE" echo "[INFO] Launching nginx..." +# ========== 生成运行期前端配置 (/usr/share/nginx/html/argus-config.js) ========== +CFG_JS="/usr/share/nginx/html/argus-config.js" +MASTER_PORT="${EXTERNAL_MASTER_PORT:-8085}" +ALERT_PORT="${EXTERNAL_ALERTMANAGER_PORT:-8084}" +GRAFANA_PORT="${EXTERNAL_GRAFANA_PORT:-8081}" +PROM_PORT="${EXTERNAL_PROMETHEUS_PORT:-8082}" +KIBANA_PORT="${EXTERNAL_KIBANA_PORT:-8083}" +{ + echo "// generated at runtime by start-web-supervised.sh" + echo "window.__ARGUS_PORTS__ = {" + echo " MASTER: ${MASTER_PORT}," + echo " ALERTMANAGER: ${ALERT_PORT}," + echo " GRAFANA: ${GRAFANA_PORT}," + echo " PROMETHEUS: ${PROM_PORT}," + echo " KIBANA: ${KIBANA_PORT}," + echo "};" + if [[ -n "${ARGUS_PUBLIC_HOST:-}" ]]; then + printf "window.__ARGUS_PUBLIC_HOST__ = '%s';\n" "$ARGUS_PUBLIC_HOST" + fi +} > "$CFG_JS" + # 启动 nginx 前台模式 exec /usr/sbin/nginx -g "daemon off;" diff --git a/src/web/index.html b/src/web/index.html index 86f56fa..9c8f5a4 100644 --- a/src/web/index.html +++ b/src/web/index.html @@ -8,6 +8,8 @@
+ +