#!/usr/bin/env bash set -e BASE_DIR="$(cd "$(dirname "$0")"/.. && pwd)" LOG_DIR="$BASE_DIR/logs" mkdir -p "$LOG_DIR" if [ -x "$BASE_DIR/.venv/bin/python" ]; then PY_BIN="$BASE_DIR/.venv/bin/python" elif [ -x "$BASE_DIR/.conda-env/bin/python" ]; then PY_BIN="$BASE_DIR/.conda-env/bin/python" elif command -v python3 >/dev/null 2>&1; then PY_BIN="$(command -v python3)" else echo python not found exit 1 fi ZERO_DIR="$BASE_DIR/ZeroCodeProject/apis/ZeroCodeMain" API_DIR="$BASE_DIR/ZeroCodeProject/apis/temp_api" API_PORT="$($PY_BIN -c "import json,sys;print(json.load(open('$ZERO_DIR/api_django.json')).get('port', '8001'))" 2>/dev/null || echo 8001)" ZERO_PORT="${ZERO_PORT:-8000}" zero_pid="$LOG_DIR/zero_code.pid" zero_out="$LOG_DIR/project-$ZERO_PORT.out" api_pid="$LOG_DIR/api_service.pid" api_out="$LOG_DIR/project-$API_PORT.out" cd "$ZERO_DIR" nohup "$PY_BIN" manage.py runserver 0.0.0.0:"$ZERO_PORT" > "$zero_out" 2>&1 & echo $! > "$zero_pid" cd "$API_DIR" nohup "$PY_BIN" manage.py runserver 0.0.0.0:"$API_PORT" > "$api_out" 2>&1 & echo $! > "$api_pid" echo started "$ZERO_PORT" "$API_PORT"