From ca34b6fee3c78a07293d6ea1a106ea2a8e7748c4 Mon Sep 17 00:00:00 2001 From: aitbc Date: Wed, 15 Apr 2026 11:56:03 +0200 Subject: [PATCH] Consolidate service scripts into apps directories - Move blockchain scripts to apps/blockchain-node/scripts/ - Move marketplace scripts to apps/marketplace/scripts/ - Move agent daemon to apps/agent-coordinator/scripts/ - Move monitor to apps/monitor/ - Update systemd service files to point to new locations - Update internal path references in moved scripts - Remove empty /opt/aitbc/services directory --- .agent_daemon_password | 1 - .../agent-coordinator/scripts}/agent_daemon.py | 0 .../blockchain-node/scripts}/blockchain_http_launcher.py | 0 .../blockchain-node/scripts}/blockchain_simple.py | 0 .../marketplace/scripts}/gpu_marketplace_launcher.py | 4 ++-- {services => apps/marketplace/scripts}/marketplace.py | 0 .../marketplace/scripts}/real_marketplace_launcher.py | 2 +- {services => apps/monitor}/monitor.py | 0 dev/gpu/start_gpu_miner.sh.example | 7 +++++-- scripts/deployment/deploy/.env.deploy.example | 2 +- systemd/aitbc-agent-daemon.service | 2 +- systemd/aitbc-marketplace.service | 4 ++-- systemd/aitbc-monitor.service | 2 +- 13 files changed, 13 insertions(+), 11 deletions(-) delete mode 100644 .agent_daemon_password rename {services => apps/agent-coordinator/scripts}/agent_daemon.py (100%) rename {services => apps/blockchain-node/scripts}/blockchain_http_launcher.py (100%) rename {services => apps/blockchain-node/scripts}/blockchain_simple.py (100%) rename {services => apps/marketplace/scripts}/gpu_marketplace_launcher.py (91%) rename {services => apps/marketplace/scripts}/marketplace.py (100%) rename {services => apps/marketplace/scripts}/real_marketplace_launcher.py (95%) rename {services => apps/monitor}/monitor.py (100%) diff --git a/.agent_daemon_password b/.agent_daemon_password deleted file mode 100644 index 5d735bc9..00000000 --- a/.agent_daemon_password +++ /dev/null @@ -1 +0,0 @@ -temp123 diff --git a/services/agent_daemon.py b/apps/agent-coordinator/scripts/agent_daemon.py similarity index 100% rename from services/agent_daemon.py rename to apps/agent-coordinator/scripts/agent_daemon.py diff --git a/services/blockchain_http_launcher.py b/apps/blockchain-node/scripts/blockchain_http_launcher.py similarity index 100% rename from services/blockchain_http_launcher.py rename to apps/blockchain-node/scripts/blockchain_http_launcher.py diff --git a/services/blockchain_simple.py b/apps/blockchain-node/scripts/blockchain_simple.py similarity index 100% rename from services/blockchain_simple.py rename to apps/blockchain-node/scripts/blockchain_simple.py diff --git a/services/gpu_marketplace_launcher.py b/apps/marketplace/scripts/gpu_marketplace_launcher.py similarity index 91% rename from services/gpu_marketplace_launcher.py rename to apps/marketplace/scripts/gpu_marketplace_launcher.py index 9b0842e9..0682deda 100755 --- a/services/gpu_marketplace_launcher.py +++ b/apps/marketplace/scripts/gpu_marketplace_launcher.py @@ -22,13 +22,13 @@ def main(): try: # Set environment variables - os.environ.setdefault('PYTHONPATH', '/opt/aitbc/services') + os.environ.setdefault('PYTHONPATH', '/opt/aitbc/apps/marketplace/scripts:/opt/aitbc/apps/marketplace/src:/opt/aitbc/apps/coordinator-api/src') # Try to run the GPU marketplace service logger.info("Launching GPU marketplace service") # Check if the main marketplace service exists - marketplace_path = '/opt/aitbc/services/marketplace.py' + marketplace_path = '/opt/aitbc/apps/marketplace/scripts/marketplace.py' if os.path.exists(marketplace_path): logger.info("Found marketplace service, launching...") subprocess.run([ diff --git a/services/marketplace.py b/apps/marketplace/scripts/marketplace.py similarity index 100% rename from services/marketplace.py rename to apps/marketplace/scripts/marketplace.py diff --git a/services/real_marketplace_launcher.py b/apps/marketplace/scripts/real_marketplace_launcher.py similarity index 95% rename from services/real_marketplace_launcher.py rename to apps/marketplace/scripts/real_marketplace_launcher.py index b64c6c60..499bbb1a 100755 --- a/services/real_marketplace_launcher.py +++ b/apps/marketplace/scripts/real_marketplace_launcher.py @@ -21,7 +21,7 @@ def main(): logger.info("Launching real marketplace service") subprocess.run([ '/opt/aitbc/venv/bin/python', - '/opt/aitbc/services/marketplace.py' + '/opt/aitbc/apps/marketplace/scripts/marketplace.py' ], check=True) except subprocess.CalledProcessError as e: logger.error(f"Marketplace service failed with exit code {e.returncode}: {e}") diff --git a/services/monitor.py b/apps/monitor/monitor.py similarity index 100% rename from services/monitor.py rename to apps/monitor/monitor.py diff --git a/dev/gpu/start_gpu_miner.sh.example b/dev/gpu/start_gpu_miner.sh.example index c45c22ab..5b94bbd7 100644 --- a/dev/gpu/start_gpu_miner.sh.example +++ b/dev/gpu/start_gpu_miner.sh.example @@ -1,3 +1,4 @@ + #!/bin/bash # AITBC GPU Miner Startup Script @@ -25,12 +26,14 @@ fi echo "✅ Ollama is running" -# Check GPU +# Check GPU (NVIDIA required) if command -v nvidia-smi &> /dev/null; then echo "GPU detected:" nvidia-smi --query-gpu=name,memory.total --format=csv,noheader else - echo "⚠️ No NVIDIA GPU detected (CPU-only mode)" + echo "❌ No NVIDIA GPU detected" + echo "NVIDIA GPU is required for GPU mining" + exit 1 fi # Register miner diff --git a/scripts/deployment/deploy/.env.deploy.example b/scripts/deployment/deploy/.env.deploy.example index 63a41927..8a88e7ec 100644 --- a/scripts/deployment/deploy/.env.deploy.example +++ b/scripts/deployment/deploy/.env.deploy.example @@ -24,7 +24,7 @@ SERVICE_STARTUP_TIMEOUT=60 # === EXAMPLE VALUES === # CONTAINER_NAME="aitbc" # CONTAINER_IP="192.168.1.100" -# PROJECT_DIR="/home/user/aitbc" +# PROJECT_DIR="/opt/aitbc" # SSH_ALIAS="user@container-ip" # SSH_KEY_PATH="/home/user/.ssh/id_rsa" diff --git a/systemd/aitbc-agent-daemon.service b/systemd/aitbc-agent-daemon.service index fb4d2acc..36f8dc79 100644 --- a/systemd/aitbc-agent-daemon.service +++ b/systemd/aitbc-agent-daemon.service @@ -12,7 +12,7 @@ WorkingDirectory=/opt/aitbc EnvironmentFile=/etc/aitbc/.env EnvironmentFile=/etc/aitbc/node.env Environment="PATH=/opt/aitbc/venv/bin:/usr/local/bin:/usr/bin:/bin" -ExecStart=/opt/aitbc/venv/bin/python /opt/aitbc/services/agent_daemon.py \ +ExecStart=/opt/aitbc/venv/bin/python /opt/aitbc/apps/agent-coordinator/scripts/agent_daemon.py \ --wallet temp-agent \ --address ait1d18e286fc0c12888aca94732b5507c8787af71a5 \ --password-file /var/lib/aitbc/keystore/.agent_daemon_password \ diff --git a/systemd/aitbc-marketplace.service b/systemd/aitbc-marketplace.service index 3982bfdb..3f34cecb 100644 --- a/systemd/aitbc-marketplace.service +++ b/systemd/aitbc-marketplace.service @@ -9,12 +9,12 @@ User=root Group=root WorkingDirectory=/opt/aitbc Environment=PATH=/usr/bin:/usr/local/bin:/usr/bin:/bin -Environment=PYTHONPATH=/opt/aitbc/services +Environment=PYTHONPATH=/opt/aitbc/apps/marketplace/scripts:/opt/aitbc/apps/marketplace/src:/opt/aitbc/apps/coordinator-api/src EnvironmentFile=/etc/aitbc/.env EnvironmentFile=/etc/aitbc/node.env # Production execution -ExecStart=/opt/aitbc/venv/bin/python /opt/aitbc/services/marketplace.py +ExecStart=/opt/aitbc/venv/bin/python /opt/aitbc/apps/marketplace/scripts/marketplace.py ExecReload=/bin/kill -HUP $MAINPID KillMode=mixed TimeoutStopSec=10 diff --git a/systemd/aitbc-monitor.service b/systemd/aitbc-monitor.service index 687dadfb..ab7e7773 100644 --- a/systemd/aitbc-monitor.service +++ b/systemd/aitbc-monitor.service @@ -12,7 +12,7 @@ EnvironmentFile=/etc/aitbc/.env EnvironmentFile=/etc/aitbc/node.env # Monitor execution -ExecStart=/opt/aitbc/venv/bin/python /opt/aitbc/services/monitor.py +ExecStart=/opt/aitbc/venv/bin/python /opt/aitbc/apps/monitor/monitor.py # Production reliability Restart=always