#!/bin/sh set -eu DOCROOT="${WALL_PANEL_DOCROOT:-/app}" PORT="${WALL_PANEL_PORT:-8099}" CONFIG_PATH="${WALL_PANEL_CONFIG_PATH:-/config/wall_panel/wall_panel_config.json}" STORAGE_DIR="${WALL_PANEL_STORAGE_DIR:-/data/wall_panel}" mkdir -p "$(dirname "$CONFIG_PATH")" "$STORAGE_DIR" if [ ! -f "$CONFIG_PATH" ]; then cp "${DOCROOT}/config/config.json" "$CONFIG_PATH" fi export WALL_PANEL_CONFIG_PATH="$CONFIG_PATH" export WALL_PANEL_STORAGE_DIR="$STORAGE_DIR" export WALL_PANEL_RUNTIME_MODE="addon" log() { echo "[wall_panel] $*" } log "starting add-on on port ${PORT}" log "config path: ${CONFIG_PATH}" log "storage dir: ${STORAGE_DIR}" if [ "${WALL_PANEL_ENABLE_INGRESS_REGISTRATION:-false}" = "true" ]; then ( i=0 while [ "$i" -lt 120 ]; do log "registering ingress attempt $((i + 1))/120" output="$(php -r 'require "/app/lib/bootstrap.php"; $config = app_load_config(); exit(app_register_ingress_url($config) ? 0 : 1);' 2>&1)" status=$? if [ "$status" -eq 0 ]; then log "ingress registered" exit 0 fi if [ -n "$output" ]; then printf '%s\n' "$output" | while IFS= read -r line; do [ -n "$line" ] && log "$line" done fi i=$((i + 1)) sleep 2 done log "ingress registration failed after retries" ) || true & fi exec php -S "0.0.0.0:${PORT}" -t "$DOCROOT"