wallpanell/run.sh
2026-03-25 15:35:16 +03:00

34 lines
920 B
Bash
Executable File

#!/bin/sh
set -eu
DOCROOT="${WALL_PANEL_DOCROOT:-/app}"
PORT="${WALL_PANEL_PORT:-8099}"
CONFIG_PATH="${WALL_PANEL_CONFIG_PATH:-/config/config.json}"
STORAGE_DIR="${WALL_PANEL_STORAGE_DIR:-/config/storage}"
RUNTIME_MODE="${WALL_PANEL_RUNTIME_MODE:-standalone}"
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="$RUNTIME_MODE"
if [ "$RUNTIME_MODE" = "addon" ]; then
(
i=0
while [ "$i" -lt 120 ]; do
if php -r 'require "/app/lib/bootstrap.php"; $config = app_load_config(); exit(app_register_ingress_url($config) ? 0 : 1);' >/dev/null 2>&1; then
exit 0
fi
i=$((i + 1))
sleep 2
done
) >/dev/null 2>&1 || true &
fi
exec php -S "0.0.0.0:${PORT}" -t "$DOCROOT"