From 7d81e7aff33466f789e6af14433f0f6c68e78f7d Mon Sep 17 00:00:00 2001 From: root Date: Sun, 5 Oct 2025 21:18:06 +0000 Subject: [PATCH] fix startup --- scripts/provision_node.sh | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/scripts/provision_node.sh b/scripts/provision_node.sh index 6667b7d..a07943a 100755 --- a/scripts/provision_node.sh +++ b/scripts/provision_node.sh @@ -23,8 +23,25 @@ if [[ "$UBUNTU_MAJOR" != "22" ]]; then fi SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) -BACKEND_ROOT=$(cd "$SCRIPT_DIR/.." && pwd) -PROJECT_ROOT=$(cd "$BACKEND_ROOT/.." && pwd) +if [[ -d "$SCRIPT_DIR/../app" && -d "$SCRIPT_DIR/../scripts" ]]; then + DEFAULT_INSTALL_ROOT=$(cd "$SCRIPT_DIR/../.." && pwd) +else + DEFAULT_INSTALL_ROOT="/home/my-network" +fi + +read -r -p "Installation root [$DEFAULT_INSTALL_ROOT]: " INSTALL_ROOT || true +INSTALL_ROOT=${INSTALL_ROOT:-$DEFAULT_INSTALL_ROOT} +INSTALL_ROOT=${INSTALL_ROOT%/} +if [[ -z "$INSTALL_ROOT" ]]; then + INSTALL_ROOT="/home/my-network" +fi +mkdir -p "$INSTALL_ROOT" +INSTALL_ROOT=$(cd "$INSTALL_ROOT" && pwd) + +echo "Using installation root: $INSTALL_ROOT" + +PROJECT_ROOT="$INSTALL_ROOT" +BACKEND_ROOT="$PROJECT_ROOT/uploader-bot" CONFIGS_DIR="$PROJECT_ROOT/configs" FRONTEND_DIR="$PROJECT_ROOT/web2-client" @@ -36,12 +53,12 @@ if [[ -d "$BACKEND_ROOT/.git" ]]; then DEFAULT_BACKEND_REMOTE=$(git -C "$BACKEND_ROOT" config --get remote.origin.url 2>/dev/null || echo "$DEFAULT_BACKEND_REMOTE") fi DEFAULT_CONFIGS_REMOTE="https://git.projscale.dev/my-dev/configs" -if [[ -d "$PROJECT_ROOT/configs/.git" ]]; then - DEFAULT_CONFIGS_REMOTE=$(git -C "$PROJECT_ROOT/configs" config --get remote.origin.url 2>/dev/null || echo "$DEFAULT_CONFIGS_REMOTE") +if [[ -d "$CONFIGS_DIR/.git" ]]; then + DEFAULT_CONFIGS_REMOTE=$(git -C "$CONFIGS_DIR" config --get remote.origin.url 2>/dev/null || echo "$DEFAULT_CONFIGS_REMOTE") fi DEFAULT_WEB2_REMOTE="https://git.projscale.dev/my-dev/web2-client" -if [[ -d "$PROJECT_ROOT/web2-client/.git" ]]; then - DEFAULT_WEB2_REMOTE=$(git -C "$PROJECT_ROOT/web2-client" config --get remote.origin.url 2>/dev/null || echo "$DEFAULT_WEB2_REMOTE") +if [[ -d "$FRONTEND_DIR/.git" ]]; then + DEFAULT_WEB2_REMOTE=$(git -C "$FRONTEND_DIR" config --get remote.origin.url 2>/dev/null || echo "$DEFAULT_WEB2_REMOTE") fi trim() { @@ -146,6 +163,7 @@ apt-get update -y apt-get install -y ca-certificates curl gnupg apt-transport-https software-properties-common git make nginx certbot python3-certbot-nginx python3 jq openssl # Ensure repository checkouts +ensure_repo "$BACKEND_ROOT" "$DEFAULT_BACKEND_REMOTE" "uploader-bot" ensure_repo "$CONFIGS_DIR" "$DEFAULT_CONFIGS_REMOTE" "configs" ensure_repo "$FRONTEND_DIR" "$DEFAULT_WEB2_REMOTE" "web2-client" @@ -432,3 +450,4 @@ echo "\nNode provisioning complete." echo "- Admin panel: ${PUBLIC_HOST}/admin (use ADMIN_API_TOKEN)" echo "- To trust this node on peers, mark it via admin API on existing node." echo "- Docker services: run 'docker ps -a' or 'make -C $CONFIGS_DIR ps'." +echo "- Installation root: $PROJECT_ROOT"