# cmdsharp AI Server Setup Instructions

## 🚀 Complete Server Setup for cmdsharp AI System

### 1. **Install Systemd Service (Recommended)**

```bash
# Copy service file to systemd
sudo cp /var/www/html/proviska-ai/config/ai-queue-processor.service /etc/systemd/system/

# Reload systemd and enable service
sudo systemctl daemon-reload
sudo systemctl enable ai-queue-processor.service
sudo systemctl start ai-queue-processor.service

# Check status
sudo systemctl status ai-queue-processor.service
```

### 2. **Setup Cron Jobs**

```bash
# Make scripts executable
sudo chmod +x /var/www/html/proviska-ai/scripts/*.sh
sudo chmod +x /var/www/html/proviska-ai/scripts/*.php

# Add cron jobs (copy from crontab-setup.txt)
sudo crontab -e

# Add these lines:
*/5 * * * * /var/www/html/proviska-ai/scripts/ai-health-check.sh
0 2,8,14,20 * * * php /var/www/html/proviska-ai/scripts/pregen-cache.php
0 3 * * * php /var/www/html/proviska-ai/scripts/cleanup-cache.php
0 4 * * * pkill -f "queue-processor.php"; sleep 5; /var/www/html/proviska-ai/scripts/ai-health-check.sh
```

### 3. **Create Required Directories**

```bash
# Create log and queue directories
sudo mkdir -p /var/www/html/proviska-ai/logs
sudo mkdir -p /var/www/html/proviska-ai/queue/pending
sudo mkdir -p /var/www/html/proviska-ai/queue/processing
sudo mkdir -p /var/www/html/proviska-ai/queue/completed
sudo mkdir -p /var/www/html/proviska-ai/cache

# Set proper permissions
sudo chown -R www-data:www-data /var/www/html/proviska-ai/logs
sudo chown -R www-data:www-data /var/www/html/proviska-ai/queue
sudo chown -R www-data:www-data /var/www/html/proviska-ai/cache
sudo chmod -R 755 /var/www/html/proviska-ai/logs
sudo chmod -R 755 /var/www/html/proviska-ai/queue
sudo chmod -R 755 /var/www/html/proviska-ai/cache
```

### 4. **Verify Setup**

```bash
# Check if queue processor is running
pgrep -f "queue-processor.php"

# Test health check
/var/www/html/proviska-ai/scripts/ai-health-check.sh

# Check logs
tail -f /var/www/html/proviska-ai/logs/health-check.log

# Test AI endpoint
curl -X POST \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: your-api-key" \
  -d '{"text":"test setup","app_context":"setup_test"}' \
  https://ai.proviska.com/api/enhance-text-cached.php
```

### 5. **Monitoring Commands**

```bash
# Check system status
sudo systemctl status ai-queue-processor.service

# View logs
sudo journalctl -u ai-queue-processor.service -f

# Check queue health
curl -H "X-Api-Key: your-api-key" \
  https://ai.proviska.com/api/queue-health.php

# Check disk usage
df -h /var/www/html/proviska-ai

# Check memory usage
free -h
```

### 6. **Troubleshooting**

#### Queue Processor Not Starting
```bash
# Check PHP errors
php -l /var/www/html/proviska-ai/scripts/queue-processor.php

# Start manually for debugging
php /var/www/html/proviska-ai/scripts/queue-processor.php

# Check permissions
ls -la /var/www/html/proviska-ai/scripts/
```

#### High Memory Usage
```bash
# Restart queue processor
sudo systemctl restart ai-queue-processor.service

# Clear cache manually
php /var/www/html/proviska-ai/scripts/cleanup-cache.php
```

#### API Endpoints Not Working
```bash
# Check web server config
sudo nginx -t
sudo systemctl reload nginx

# Check file permissions
ls -la /var/www/html/proviska-ai/api/
```

## 🎯 **What This Setup Provides:**

✅ **Automatic Queue Processing** - Background processing of AI requests  
✅ **Health Monitoring** - Automatic restart if components fail  
✅ **Cache Management** - Automatic cleanup of old files  
✅ **Resource Optimization** - Memory and disk usage monitoring  
✅ **Performance Tuning** - Pre-generation and optimization  
✅ **Logging & Debugging** - Comprehensive logging system  

Your cmdsharp AI system will now run reliably with automatic maintenance! 🚀