From dc1561d457601ecf2f0afa4f148a6dd32be22e6d Mon Sep 17 00:00:00 2001 From: oib Date: Fri, 6 Mar 2026 10:37:43 +0100 Subject: [PATCH] refactor: standardize systemd service port assignments and fix hardcoded paths - Update blockchain RPC port from 8003 to 8006 - Update wallet service port from 8001 to 8002 - Update multimodal service port from 8002 to 8010 - Update modality optimization port from 8004 to 8012 - Update adaptive learning port from 8005 to 8013 - Update marketplace enhanced port from 8006 to 8014 - Update OpenClaw enhanced port from 8007 to 8015 - Update multimodal GPU port from 8010 to 8011 - Add port 8017 to geographic --- systemd/aitbc-adaptive-learning.service | 4 +-- systemd/aitbc-blockchain-rpc.service | 2 +- systemd/aitbc-gpu-miner.service | 6 ++-- systemd/aitbc-gpu-registry.service | 2 +- systemd/aitbc-loadbalancer-geo.service | 7 ++-- systemd/aitbc-marketplace-enhanced.service | 6 ++-- systemd/aitbc-modality-optimization.service | 4 +-- systemd/aitbc-multimodal-gpu.service | 4 +-- systemd/aitbc-multimodal.service | 4 +-- systemd/aitbc-openclaw-enhanced.service | 4 +-- systemd/aitbc-wallet.service | 4 +-- systemd/aitbc-web-ui.service | 38 +++++++++++++++++++++ 12 files changed, 63 insertions(+), 22 deletions(-) create mode 100644 systemd/aitbc-web-ui.service diff --git a/systemd/aitbc-adaptive-learning.service b/systemd/aitbc-adaptive-learning.service index 1286e0b8..95d759ed 100644 --- a/systemd/aitbc-adaptive-learning.service +++ b/systemd/aitbc-adaptive-learning.service @@ -1,5 +1,5 @@ [Unit] -Description=AITBC Adaptive Learning Service (Port 8005) +Description=AITBC Adaptive Learning Service (Port 8013) Documentation=https://docs.aitbc.bubuit.net After=network.target aitbc-coordinator-api.service Wants=aitbc-coordinator-api.service @@ -10,7 +10,7 @@ User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc/apps/coordinator-api Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src -Environment=PORT=8005 +Environment=PORT=8013 Environment=SERVICE_TYPE=adaptive-learning Environment=LEARNING_MODE=online Environment=LOG_LEVEL=INFO diff --git a/systemd/aitbc-blockchain-rpc.service b/systemd/aitbc-blockchain-rpc.service index 210c4c33..b25177bf 100644 --- a/systemd/aitbc-blockchain-rpc.service +++ b/systemd/aitbc-blockchain-rpc.service @@ -7,7 +7,7 @@ Type=simple User=aitbc WorkingDirectory=/opt/aitbc/apps/blockchain-node Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-node/src:/opt/aitbc/apps/blockchain-node/scripts -ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python -m uvicorn aitbc_chain.app:app --host 0.0.0.0 --port 8003 --log-level info +ExecStart=/opt/aitbc/apps/blockchain-node/.venv/bin/python -m uvicorn aitbc_chain.app:app --host 0.0.0.0 --port 8006 --log-level info Restart=always RestartSec=5 StandardOutput=journal diff --git a/systemd/aitbc-gpu-miner.service b/systemd/aitbc-gpu-miner.service index 43bdeb83..64d74782 100644 --- a/systemd/aitbc-gpu-miner.service +++ b/systemd/aitbc-gpu-miner.service @@ -8,13 +8,13 @@ Type=simple User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc -Environment=PYTHONPATH=/home/oib/windsurf/aitbc/dev/gpu +Environment=PYTHONPATH=/opt/aitbc/dev/gpu Environment=VIRTUAL_ENV=/opt/aitbc/.venv Environment=PYTHONUNBUFFERED=1 Environment=PYTHONIOENCODING=utf-8 Environment=FORCE_COLOR=1 Environment=PATH=/opt/aitbc/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ExecStart=/bin/bash -c 'exec /opt/aitbc/apps/coordinator-api/.venv/bin/python -u /home/oib/windsurf/aitbc/dev/gpu/gpu_miner_host.py 2>&1 | tee -a /opt/aitbc/logs/host_gpu_miner.log' +ExecStart=/bin/bash -c 'exec /opt/aitbc/apps/coordinator-api/.venv/bin/python -u /opt/aitbc/dev/gpu/gpu_miner_host.py 2>&1 | tee -a /opt/aitbc/logs/host_gpu_miner.log' Restart=on-failure RestartSec=30 StartLimitInterval=300 @@ -28,7 +28,7 @@ NoNewPrivileges=true PrivateTmp=true ProtectSystem=strict ProtectHome=true -ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data /home/oib/windsurf/aitbc/dev/gpu +ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data /opt/aitbc/dev/gpu [Install] WantedBy=multi-user.target diff --git a/systemd/aitbc-gpu-registry.service b/systemd/aitbc-gpu-registry.service index 79180e9c..69df4e88 100644 --- a/systemd/aitbc-gpu-registry.service +++ b/systemd/aitbc-gpu-registry.service @@ -10,7 +10,7 @@ Group=aitbc WorkingDirectory=/opt/aitbc/apps/gpu-miner Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin Environment=PYTHONPATH=/opt/aitbc/apps/gpu-miner -ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python /home/oib/windsurf/aitbc/dev/gpu/gpu_registry_demo.py +ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python /opt/aitbc/dev/gpu/gpu_registry_demo.py Restart=always RestartSec=10 StandardOutput=journal diff --git a/systemd/aitbc-loadbalancer-geo.service b/systemd/aitbc-loadbalancer-geo.service index 44a0414e..5c566042 100644 --- a/systemd/aitbc-loadbalancer-geo.service +++ b/systemd/aitbc-loadbalancer-geo.service @@ -1,5 +1,5 @@ [Unit] -Description=AITBC Geographic Load Balancer +Description=AITBC Geographic Load Balancer (Port 8017) After=network.target aitbc-coordinator-api.service aitbc-marketplace-enhanced.service Wants=aitbc-coordinator-api.service aitbc-marketplace-enhanced.service @@ -9,7 +9,10 @@ User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin -ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python /home/oib/windsurf/aitbc/apps/coordinator-api/scripts/geo_load_balancer.py +Environment=PORT=8017 +Environment=SERVICE_TYPE=loadbalancer-geo +Environment=LOG_LEVEL=INFO +ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python /opt/aitbc/apps/coordinator-api/scripts/geo_load_balancer.py --port 8017 ExecReload=/bin/kill -HUP $MAINPID Restart=always RestartSec=10 diff --git a/systemd/aitbc-marketplace-enhanced.service b/systemd/aitbc-marketplace-enhanced.service index 2a27fcca..539cc8c0 100644 --- a/systemd/aitbc-marketplace-enhanced.service +++ b/systemd/aitbc-marketplace-enhanced.service @@ -1,5 +1,5 @@ [Unit] -Description=AITBC Enhanced Marketplace Service (Port 8006) +Description=AITBC Enhanced Marketplace Service (Port 8014) Documentation=https://docs.aitbc.bubuit.net After=network.target aitbc-coordinator-api.service postgresql.service Wants=aitbc-coordinator-api.service postgresql.service @@ -10,13 +10,13 @@ User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc/apps/coordinator-api Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src -Environment=PORT=8006 +Environment=PORT=8014 Environment=SERVICE_TYPE=marketplace-enhanced Environment=DATABASE_URL=postgresql://aitbc:password@localhost:5432/aitbc Environment=ROYALTY_ENABLED=true Environment=LICENSING_ENABLED=true Environment=LOG_LEVEL=INFO -ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8006 +ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8014 ExecReload=/bin/kill -HUP $MAINPID Restart=always RestartSec=10 diff --git a/systemd/aitbc-modality-optimization.service b/systemd/aitbc-modality-optimization.service index e38cf4ef..5efba641 100644 --- a/systemd/aitbc-modality-optimization.service +++ b/systemd/aitbc-modality-optimization.service @@ -1,5 +1,5 @@ [Unit] -Description=AITBC Modality Optimization Service (Port 8004) +Description=AITBC Modality Optimization Service (Port 8012) Documentation=https://docs.aitbc.bubuit.net After=network.target aitbc-coordinator-api.service Wants=aitbc-coordinator-api.service @@ -10,7 +10,7 @@ User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc/apps/coordinator-api Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src -Environment=PORT=8004 +Environment=PORT=8012 Environment=SERVICE_TYPE=modality-optimization Environment=LOG_LEVEL=INFO ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_modality_optimization.main diff --git a/systemd/aitbc-multimodal-gpu.service b/systemd/aitbc-multimodal-gpu.service index 91f68147..ef942c68 100644 --- a/systemd/aitbc-multimodal-gpu.service +++ b/systemd/aitbc-multimodal-gpu.service @@ -1,5 +1,5 @@ [Unit] -Description=AITBC Multimodal GPU Service (Port 8010) +Description=AITBC Multimodal GPU Service (Port 8011) Documentation=https://docs.aitbc.bubuit.net After=network.target aitbc-coordinator-api.service nvidia-persistenced.service Wants=aitbc-coordinator-api.service @@ -10,7 +10,7 @@ User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc/apps/coordinator-api Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src -Environment=PORT=8010 +Environment=PORT=8011 Environment=SERVICE_TYPE=gpu-multimodal Environment=GPU_ENABLED=true Environment=CUDA_VISIBLE_DEVICES=0 diff --git a/systemd/aitbc-multimodal.service b/systemd/aitbc-multimodal.service index 15559cc0..feb75962 100644 --- a/systemd/aitbc-multimodal.service +++ b/systemd/aitbc-multimodal.service @@ -1,5 +1,5 @@ [Unit] -Description=AITBC Multi-Modal Agent Service (Port 8002) +Description=AITBC Multi-Modal Agent Service (Port 8010) Documentation=https://docs.aitbc.bubuit.net After=network.target aitbc-coordinator-api.service Wants=aitbc-coordinator-api.service @@ -10,7 +10,7 @@ User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc/apps/coordinator-api Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src -Environment=PORT=8002 +Environment=PORT=8010 Environment=SERVICE_TYPE=multimodal Environment=LOG_LEVEL=INFO ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_multimodal.main diff --git a/systemd/aitbc-openclaw-enhanced.service b/systemd/aitbc-openclaw-enhanced.service index 7c44b017..221d037a 100644 --- a/systemd/aitbc-openclaw-enhanced.service +++ b/systemd/aitbc-openclaw-enhanced.service @@ -1,5 +1,5 @@ [Unit] -Description=AITBC OpenClaw Enhanced Service (Port 8007) +Description=AITBC OpenClaw Enhanced Service (Port 8015) Documentation=https://docs.aitbc.bubuit.net After=network.target aitbc-coordinator-api.service Wants=aitbc-coordinator-api.service @@ -10,7 +10,7 @@ User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc/apps/coordinator-api Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src -Environment=PORT=8007 +Environment=PORT=8015 Environment=SERVICE_TYPE=openclaw-enhanced Environment=EDGE_COMPUTING_ENABLED=true Environment=AGENT_ORCHESTRATION_ENABLED=true diff --git a/systemd/aitbc-wallet.service b/systemd/aitbc-wallet.service index c24cb273..edd4f5a5 100644 --- a/systemd/aitbc-wallet.service +++ b/systemd/aitbc-wallet.service @@ -12,12 +12,12 @@ Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src Environment=PYTHONUNBUFFERED=1 Environment=PYTHONIOENCODING=utf-8 -Environment=PORT=8001 +Environment=PORT=8002 Environment=SERVICE_TYPE=wallet Environment=LOG_LEVEL=INFO # Python version validation ExecStartPre=/bin/bash -c "python3 --version || (echo 'Python 3.13.5+ required' && exit 1)" -ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8001 +ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8002 ExecReload=/bin/kill -HUP $MAINPID Restart=always RestartSec=5 diff --git a/systemd/aitbc-web-ui.service b/systemd/aitbc-web-ui.service new file mode 100644 index 00000000..528c6ad9 --- /dev/null +++ b/systemd/aitbc-web-ui.service @@ -0,0 +1,38 @@ +[Unit] +Description=AITBC Web UI Service (Port 8016) +Documentation=https://docs.aitbc.bubuit.net +After=network.target aitbc-coordinator-api.service +Wants=aitbc-coordinator-api.service + +[Service] +Type=simple +User=aitbc +Group=aitbc +WorkingDirectory=/opt/aitbc/apps/explorer-web +Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin +Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src +Environment=PORT=8016 +Environment=SERVICE_TYPE=web-ui +Environment=LOG_LEVEL=INFO +ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8016 +ExecReload=/bin/kill -HUP $MAINPID +Restart=always +RestartSec=10 +StandardOutput=journal +StandardError=journal +SyslogIdentifier=aitbc-web-ui + +# Security settings +NoNewPrivileges=true +PrivateTmp=true +ProtectSystem=strict +ProtectHome=true +ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data +LimitNOFILE=65536 + +# Resource limits +MemoryMax=1G +CPUQuota=100% + +[Install] +WantedBy=multi-user.target