All checks were successful
AITBC CLI Level 1 Commands Test / test-cli-level1 (push) Successful in 16s
api-endpoint-tests / test-api-endpoints (push) Successful in 35s
integration-tests / test-service-integration (push) Successful in 1m25s
package-tests / test-python-packages (map[name:aitbc-agent-sdk path:packages/py/aitbc-agent-sdk python_version:3.13]) (push) Successful in 16s
package-tests / test-python-packages (map[name:aitbc-cli path:. python_version:3.13]) (push) Successful in 14s
package-tests / test-python-packages (map[name:aitbc-core path:packages/py/aitbc-core python_version:3.13]) (push) Successful in 13s
package-tests / test-python-packages (map[name:aitbc-crypto path:packages/py/aitbc-crypto python_version:3.13]) (push) Successful in 10s
package-tests / test-python-packages (map[name:aitbc-sdk path:packages/py/aitbc-sdk python_version:3.13]) (push) Successful in 12s
package-tests / test-javascript-packages (map[name:aitbc-sdk node_version:24 path:packages/js/aitbc-sdk]) (push) Successful in 18s
python-tests / test-specific (push) Has been skipped
security-scanning / audit (push) Successful in 14s
systemd-sync / sync-systemd (push) Successful in 4s
package-tests / cross-language-compatibility (push) Successful in 2s
package-tests / package-integration-tests (push) Successful in 3s
Documentation Validation / validate-docs (push) Successful in 6m13s
python-tests / test (push) Successful in 14s
## 🚀 Central Virtual Environment Implementation - Created central venv at /opt/aitbc/venv for all services - Updated 34+ systemd services to use central python interpreter - Fixed PYTHONPATH configurations for proper module imports - Created aitbc-env wrapper script for environment management ## 📦 Requirements Management Overhaul - Consolidated 8 separate requirements.txt files into central requirements.txt - Added web3>=6.11.0 for blockchain functionality - Created automated requirements migrator tool (scripts/requirements_migrator.py) - Established modular requirements structure (requirements-modules/) - Generated comprehensive migration reports and documentation ## 🔧 Service Configuration Fixes - Fixed Adaptive Learning service domain imports (AgentStatus) - Resolved logging conflicts in zk_proofs and adaptive_learning_health - Created missing data modules (consumer_gpu_profiles.py) - Updated CLI to version 0.2.2 with proper import handling - Fixed infinite loop in CLI alias configuration ## 📡 Port Mapping and Service Updates - Updated blockchain node port from 8545 to 8005 - Added Adaptive Learning service on port 8010 - Consolidated P2P/sync into blockchain-node service - All 5 core services now operational and responding ## 📚 Documentation Enhancements - Updated SYSTEMD_SERVICES.md for Debian root usage (no sudo) - Added comprehensive VIRTUAL_ENVIRONMENT.md guide - Created REQUIREMENTS_MERGE_SUMMARY.md with migration details - Updated RUNTIME_DIRECTORIES.md for standard Linux paths - Fixed service port mappings and dependencies ## 🛠️ CLI Improvements - Fixed import errors and version display (0.2.2) - Resolved infinite loop in bashrc alias - Added proper error handling for missing command modules - Created aitbc-cli wrapper for clean execution ## ✅ Operational Status - 5/5 AITBC services running successfully - All health checks passing - Central virtual environment fully functional - Requirements management streamlined - Documentation accurate and up-to-date ## 🎯 Technical Achievements - Eliminated 7 redundant requirements.txt files - Reduced service startup failures from 34+ to 0 - Established modular dependency management - Created reusable migration tooling - Standardized Debian root deployment practices This represents a complete infrastructure modernization with improved reliability, maintainability, and operational efficiency.
4.0 KiB
4.0 KiB
AITBC Setup Guide
Quick Setup (New Host)
Run this single command on any new host to install AITBC:
sudo bash <(curl -sSL https://raw.githubusercontent.com/oib/aitbc/main/setup.sh)
Or clone and run manually:
sudo git clone https://gitea.bubuit.net/oib/aitbc.git /opt/aitbc
cd /opt/aitbc
sudo chmod +x setup.sh
sudo ./setup.sh
What the Setup Script Does
-
Prerequisites Check
- Verifies Python 3.13.5+, pip3, git, systemd
- Checks for root privileges
-
Repository Setup
- Clones AITBC repository to
/opt/aitbc - Handles multiple repository URLs for reliability
- Clones AITBC repository to
-
Virtual Environments
- Creates Python venvs for each service
- Installs dependencies from
requirements.txtwhen available - Falls back to core dependencies if requirements missing
-
Runtime Directories
- Creates standard Linux directories:
/var/lib/aitbc/keystore/- Blockchain keys/var/lib/aitbc/data/- Database files/var/lib/aitbc/logs/- Application logs/etc/aitbc/- Configuration files
- Sets proper permissions and ownership
- Creates standard Linux directories:
-
Systemd Services
- Installs service files to
/etc/systemd/system/ - Enables auto-start on boot
- Provides fallback manual startup
- Installs service files to
-
Service Management
- Creates
/opt/aitbc/start-services.shfor manual control - Creates
/opt/aitbc/health-check.shfor monitoring - Sets up logging to
/var/log/aitbc-*.log
- Creates
Runtime Directories
AITBC uses standard Linux system directories for runtime data:
/var/lib/aitbc/
├── keystore/ # Blockchain private keys (700 permissions)
├── data/ # Database files (.db, .sqlite)
└── logs/ # Application logs
/etc/aitbc/ # Configuration files
/var/log/aitbc/ # System logging (symlink)
Security Notes
- Keystore: Restricted to root/aitbc user only
- Data: Writable by services, readable by admin
- Logs: Rotated automatically by logrotate
Service Endpoints
| Service | Port | Health Endpoint |
|---|---|---|
| Wallet API | 8003 | http://localhost:8003/health |
| Exchange API | 8001 | http://localhost:8001/api/health |
| Coordinator API | 8000 | http://localhost:8000/health |
| Blockchain RPC | 8545 | http://localhost:8545 |
Management Commands
# Check service health
/opt/aitbc/health-check.sh
# Restart all services
/opt/aitbc/start-services.sh
# View logs (new standard locations)
tail -f /var/lib/aitbc/logs/aitbc-wallet.log
tail -f /var/lib/aitbc/logs/aitbc-coordinator.log
tail -f /var/lib/aitbc/logs/aitbc-exchange.log
# Check keystore
ls -la /var/lib/aitbc/keystore/
# Systemd control
systemctl status aitbc-wallet
systemctl restart aitbc-coordinator-api
systemctl stop aitbc-exchange-api
Troubleshooting
Services Not Starting
- Check logs:
tail -f /var/lib/aitbc/logs/aitbc-*.log - Verify ports:
netstat -tlnp | grep ':800' - Check processes:
ps aux | grep python - Verify runtime directories:
ls -la /var/lib/aitbc/
Missing Dependencies
The setup script handles missing requirements.txt files by installing core dependencies:
- fastapi
- uvicorn
- pydantic
- httpx
- python-dotenv
Port Conflicts
Services use these default ports. If conflicts exist:
- Kill conflicting processes:
kill <pid> - Modify service files to use different ports
- Restart services
Development Mode
For development with manual control:
cd /opt/aitbc/apps/wallet
source .venv/bin/activate
python simple_daemon.py
cd /opt/aitbc/apps/exchange
source .venv/bin/activate
python simple_exchange_api.py
cd /opt/aitbc/apps/coordinator-api/src
source ../.venv/bin/activate
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
Production Considerations
For production deployment:
- Configure proper environment variables
- Set up reverse proxy (nginx)
- Configure SSL certificates
- Set up log rotation
- Configure monitoring and alerts
- Use proper database setup (PostgreSQL/Redis)