chore(cleanup): remove obsolete scripts and update paths for production deployment

- Remove dev/scripts/check-file-organization.sh (obsolete organization checker)
- Remove dev/scripts/community_onboarding.py (unused 559-line automation script)
- Update gpu_miner_host.py log path from /home/oib/windsurf/aitbc to /opt/aitbc
- Add service status and standardization badges to README.md
This commit is contained in:
oib
2026-03-04 13:24:38 +01:00
parent 50954a4b31
commit 3df0a9ed62
126 changed files with 1870 additions and 458 deletions

View File

@@ -0,0 +1,17 @@
[Unit]
Description=AITBC Blockchain Node
After=network.target
[Service]
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 aitbc_chain.main
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,17 @@
[Unit]
Description=AITBC Blockchain RPC API
After=network.target aitbc-blockchain-node.service
[Service]
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 9080 --log-level info
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target

View File

@@ -5,14 +5,14 @@ Wants=network.target
[Service]
Type=simple
User=oib
Group=oib
WorkingDirectory=/opt/coordinator-api
Environment=PATH=/opt/coordinator-api/.venv/bin
Environment=PYTHONPATH=/opt/coordinator-api/src
User=aitbc
WorkingDirectory=/opt/aitbc/apps/coordinator-api
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src
Environment=MINER_API_KEYS=["miner_test_abc123"]
# Python version validation
ExecStartPre=/bin/bash -c "python3 --version || (echo 'Python 3.13.5+ required' && exit 1)"
ExecStart=/opt/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=5

View File

@@ -5,13 +5,13 @@ Wants=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/exchange-api
Environment=PATH=/opt/exchange-api/.venv/bin
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc/apps/trade-exchange
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
# Python version validation
ExecStartPre=/bin/bash -c "python3 --version || (echo 'Python 3.13.5+ required' && exit 1)"
ExecStart=/opt/exchange-api/.venv/bin/python simple_exchange_api.py
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python simple_exchange_api.py
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=5

View File

@@ -5,11 +5,12 @@ Wants=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/exchange-frontend
Environment=PATH=/opt/exchange-frontend/.venv/bin
ExecStart=/opt/exchange-frontend/.venv/bin/python server.py --port 3002
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc/apps/trade-exchange
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin
Environment=PYTHONPATH=/opt/aitbc/apps/trade-exchange
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python server.py --port 3002
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=5

View File

@@ -1,20 +1,19 @@
[Unit]
Description=AITBC Blockchain Explorer UI
After=network.target aitbc-blockchain-rpc-1.service aitbc-blockchain-rpc-2.service
After=network.target aitbc-blockchain-rpc.service
[Service]
Type=simple
User=root
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc/apps/blockchain-explorer
# Assuming we will use the venv from coordinator-api or blockchain-node as standard
Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin:/usr/local/bin:/usr/bin:/bin
# Need to make sure fastapi and uvicorn are available
Environment=PYTHONPATH=/opt/aitbc/apps/blockchain-explorer
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python main.py
Restart=always
RestartSec=5
# Adjust logging
StandardOutput=syslog
StandardError=syslog
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-explorer
[Install]

View File

@@ -1,22 +0,0 @@
[Unit]
Description=AITBC GPU Miner Client
After=network.target
Wants=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/gpu-miner
Environment=PYTHONPATH=/opt/gpu-miner
ExecStart=/usr/bin/python3 /opt/gpu-miner/gpu_miner_with_wait.py
Restart=on-failure
RestartSec=30
StartLimitInterval=300
StartLimitBurst=5
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-gpu-miner
[Install]
WantedBy=multi-user.target

View File

@@ -5,11 +5,16 @@ Wants=network.target
[Service]
Type=simple
User=debian
Group=debian
WorkingDirectory=/opt/gpu-miner
Environment=PYTHONPATH=/opt/gpu-miner
ExecStart=/opt/gpu-miner/venv/bin/python /opt/gpu-miner/gpu_miner_simple.py
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc
Environment=PYTHONPATH=/home/oib/windsurf/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'
Restart=on-failure
RestartSec=30
StartLimitInterval=300
@@ -22,7 +27,8 @@ SyslogIdentifier=aitbc-gpu-miner
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ReadWritePaths=/opt/gpu-miner
ProtectHome=true
ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data /home/oib/windsurf/aitbc/dev/gpu
[Install]
WantedBy=multi-user.target

View File

@@ -5,10 +5,12 @@ Wants=network.target
[Service]
Type=simple
User=oib
Group=oib
WorkingDirectory=/opt/gpu-miner
ExecStart=/usr/bin/python3 /opt/gpu-miner/gpu_registry_demo.py
User=aitbc
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
Restart=always
RestartSec=10
StandardOutput=journal

View File

@@ -1,27 +0,0 @@
[Unit]
Description=AITBC Host GPU Miner Client
After=network.target
Wants=network.target
[Service]
Type=simple
User=oib
Group=oib
WorkingDirectory=/opt/gpu-miner
Environment=PYTHONPATH=/opt/gpu-miner
Environment=VIRTUAL_ENV=/opt/gpu-miner/.venv
Environment=PYTHONUNBUFFERED=1
Environment=PYTHONIOENCODING=utf-8
Environment=FORCE_COLOR=1
Environment=PATH=/opt/gpu-miner/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/bin/bash -c 'exec /opt/gpu-miner/.venv/bin/python -u /opt/gpu-miner/scripts/gpu/gpu_miner_host.py 2>&1 | tee -a /opt/gpu-miner/logs/host_gpu_miner.log'
Restart=on-failure
RestartSec=30
StartLimitInterval=300
StartLimitBurst=5
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-host-gpu-miner
[Install]
WantedBy=multi-user.target

View File

@@ -5,28 +5,17 @@ Wants=aitbc-coordinator-api.service aitbc-marketplace-enhanced.service
[Service]
Type=simple
User=oib
Group=oib
WorkingDirectory=/home/oib/windsurf/aitbc
Environment=PATH=/home/oib/windsurf/aitbc/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/home/oib/windsurf/aitbc/.venv/bin/python /home/oib/windsurf/aitbc/scripts/geo_load_balancer.py
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
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
TimeoutStopSec=5
PrivateTmp=true
Restart=on-failure
Restart=always
RestartSec=10
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-loadbalancer-geo
# Security
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/home/oib/windsurf/aitbc
[Install]
WantedBy=multi-user.target

View File

@@ -16,7 +16,7 @@ Environment=DATABASE_URL=postgresql://aitbc:password@localhost:5432/aitbc
Environment=ROYALTY_ENABLED=true
Environment=LICENSING_ENABLED=true
Environment=LOG_LEVEL=INFO
ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_marketplace_enhanced.main
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8006
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=10
@@ -24,17 +24,5 @@ StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-marketplace-enhanced
# Security settings
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data
LimitNOFILE=65536
# Resource limits
MemoryMax=2G
CPUQuota=200%
[Install]
WantedBy=multi-user.target

View File

@@ -1,5 +1,5 @@
[Unit]
Description=AITBC GPU Multi-Modal Service (Port 8003)
Description=AITBC Multimodal GPU Service (Port 8003)
Documentation=https://docs.aitbc.bubuit.net
After=network.target aitbc-coordinator-api.service nvidia-persistenced.service
Wants=aitbc-coordinator-api.service
@@ -15,13 +15,13 @@ Environment=SERVICE_TYPE=gpu-multimodal
Environment=GPU_ENABLED=true
Environment=CUDA_VISIBLE_DEVICES=0
Environment=LOG_LEVEL=INFO
ExecStart=/opt/aitbc/.venv/bin/python -m aitbc_gpu_multimodal.main
ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m aitbc_gpu_multimodal.main
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-gpu-multimodal
SyslogIdentifier=aitbc-multimodal-gpu
# Security settings
NoNewPrivileges=true

View File

@@ -1,25 +0,0 @@
[Unit]
Description=AITBC Blockchain Node Service (Python 3.13.5+)
After=network.target
Wants=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/blockchain-node
Environment=PATH=/opt/blockchain-node/.venv/bin
Environment=PYTHONPATH=/opt/blockchain-node
Environment=RUST_LOG=info
# Python version validation
ExecStartPre=/bin/bash -c "python3 --version || (echo 'Python 3.13.5+ required' && exit 1)"
ExecStart=/opt/blockchain-node/.venv/bin/python -m node.main --datadir /opt/blockchain-node/data --rpc-bind 0.0.0.0:8545
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aitbc-node
[Install]
WantedBy=multi-user.target

View File

@@ -5,14 +5,19 @@ Wants=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/wallet-daemon
Environment=PATH=/opt/wallet-daemon/.venv/bin
Environment=PYTHONPATH=/opt/wallet-daemon
User=aitbc
Group=aitbc
WorkingDirectory=/opt/aitbc/apps/coordinator-api
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=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/wallet-daemon/.venv/bin/python -m wallet_daemon.main --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 8001
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=5