chore: enhance .gitignore and remove obsolete documentation files - Reorganize .gitignore with categorized sections for better maintainability - Add comprehensive ignore patterns for Python, Node.js, databases, logs, and build artifacts - Add project-specific ignore rules for coordinator, explorer, and deployment files - Remove outdated documentation: BITCOIN-WALLET-SETUP.md, LOCAL_ASSETS_SUMMARY.md, README-CONTAINER-DEPLOYMENT.md, README-DOMAIN-DEPLOYMENT.md ```
130 lines
3.7 KiB
Markdown
130 lines
3.7 KiB
Markdown
# AITBC Systemd Services
|
|
|
|
All AITBC services are now managed by systemd for automatic startup, monitoring, and logging.
|
|
|
|
## Services Overview
|
|
|
|
| Service | Port | Description | Status |
|
|
|---------|------|-------------|--------|
|
|
| `aitbc-coordinator-api` | 8000 | Main Coordinator API for blockchain operations | Active |
|
|
| `aitbc-exchange-api` | 3003 | Exchange API for trading operations | Active |
|
|
| `aitbc-exchange-frontend` | 3002 | Exchange web frontend | Active |
|
|
| `aitbc-wallet` | 8001 | Wallet daemon service | Pending |
|
|
| `aitbc-node` | 8545 | Blockchain node service | Pending |
|
|
|
|
## Service Management
|
|
|
|
### Check Status
|
|
```bash
|
|
/root/aitbc/scripts/manage_services.sh status
|
|
```
|
|
|
|
### Start All Services
|
|
```bash
|
|
/root/aitbc/scripts/manage_services.sh start
|
|
```
|
|
|
|
### Stop All Services
|
|
```bash
|
|
/root/aitbc/scripts/manage_services.sh stop
|
|
```
|
|
|
|
### Restart All Services
|
|
```bash
|
|
/root/aitbc/scripts/manage_services.sh restart
|
|
```
|
|
|
|
### View Logs
|
|
```bash
|
|
# View specific service logs
|
|
/root/aitbc/scripts/manage_services.sh logs coordinator-api
|
|
/root/aitbc/scripts/manage_services.sh logs exchange-api
|
|
/root/aitbc/scripts/manage_services.sh logs exchange-frontend
|
|
/root/aitbc/scripts/manage_services.sh logs wallet
|
|
/root/aitbc/scripts/manage_services.sh logs node
|
|
|
|
# Or use systemctl directly
|
|
sudo journalctl -u aitbc-coordinator-api -f
|
|
sudo journalctl -u aitbc-exchange-api -f
|
|
sudo journalctl -u aitbc-exchange-frontend -f
|
|
```
|
|
|
|
### Enable/Disable Autostart
|
|
```bash
|
|
# Enable services to start on boot
|
|
/root/aitbc/scripts/manage_services.sh enable
|
|
|
|
# Disable services from starting on boot
|
|
/root/aitbc/scripts/manage_services.sh disable
|
|
```
|
|
|
|
## Individual Service Control
|
|
|
|
You can also control services individually using systemctl:
|
|
|
|
```bash
|
|
# Start a specific service
|
|
sudo systemctl start aitbc-coordinator-api
|
|
|
|
# Stop a specific service
|
|
sudo systemctl stop aitbc-coordinator-api
|
|
|
|
# Restart a specific service
|
|
sudo systemctl restart aitbc-coordinator-api
|
|
|
|
# Check if service is enabled
|
|
sudo systemctl is-enabled aitbc-coordinator-api
|
|
|
|
# Enable service on boot
|
|
sudo systemctl enable aitbc-coordinator-api
|
|
|
|
# Disable service on boot
|
|
sudo systemctl disable aitbc-coordinator-api
|
|
```
|
|
|
|
## Service Files Location
|
|
|
|
Service definition files are located at:
|
|
- `/etc/systemd/system/aitbc-coordinator-api.service`
|
|
- `/etc/systemd/system/aitbc-exchange-api.service`
|
|
- `/etc/systemd/system/aitbc-exchange-frontend.service`
|
|
- `/etc/systemd/system/aitbc-wallet.service`
|
|
- `/etc/systemd/system/aitbc-node.service`
|
|
|
|
## Troubleshooting
|
|
|
|
### Service Not Starting
|
|
1. Check the service status: `sudo systemctl status aitbc-service-name`
|
|
2. View the logs: `sudo journalctl -u aitbc-service-name -n 50`
|
|
3. Check if port is already in use: `netstat -tlnp | grep :port`
|
|
|
|
### Service Keeps Restarting
|
|
1. The service is configured to auto-restart on failure
|
|
2. Check logs for the error causing failures
|
|
3. Temporarily disable auto-restart for debugging: `sudo systemctl stop aitbc-service-name`
|
|
|
|
### Manual Override
|
|
If systemd services are not working, you can run services manually:
|
|
```bash
|
|
# Coordinator API
|
|
cd /root/aitbc/apps/coordinator-api
|
|
/root/aitbc/.venv/bin/python -m uvicorn src.app.main:app --host 0.0.0.0 --port 8000
|
|
|
|
# Exchange API
|
|
cd /root/aitbc/apps/trade-exchange
|
|
/root/aitbc/.venv/bin/python simple_exchange_api.py
|
|
|
|
# Exchange Frontend
|
|
cd /root/aitbc/apps/trade-exchange
|
|
/root/aitbc/.venv/bin/python server.py --port 3002
|
|
```
|
|
|
|
## Benefits of Systemd
|
|
|
|
1. **Automatic Startup**: Services start automatically on boot
|
|
2. **Automatic Restart**: Services restart on failure
|
|
3. **Centralized Logging**: All logs go to journald
|
|
4. **Resource Management**: Systemd manages service resources
|
|
5. **Dependency Management**: Services can depend on each other
|
|
6. **Security**: Services run with specified user/group permissions
|