34 lines
920 B
Bash
Executable File
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"
|