Major architecture overhaul to address RunPod Docker limitations: Core Infrastructure: - Add base_service.py: Abstract base class for all AI services - Add service_manager.py: Process lifecycle management - Add core/requirements.txt: Core dependencies Model Services (Standalone Python): - Add models/vllm/server.py: Qwen 2.5 7B text generation - Add models/flux/server.py: Flux.1 Schnell image generation - Add models/musicgen/server.py: MusicGen Medium music generation - Each service inherits from GPUService base class - OpenAI-compatible APIs - Standalone execution support Ansible Deployment: - Add playbook.yml: Comprehensive deployment automation - Add ansible.cfg: Ansible configuration - Add inventory.yml: Localhost inventory - Tags: base, python, dependencies, models, tailscale, validate, cleanup Scripts: - Add scripts/install.sh: Full installation wrapper - Add scripts/download-models.sh: Model download wrapper - Add scripts/start-all.sh: Start orchestrator - Add scripts/stop-all.sh: Stop all services Documentation: - Update ARCHITECTURE.md: Document distributed VPS+GPU architecture Benefits: - No Docker: Avoids RunPod CAP_SYS_ADMIN limitations - Fully reproducible via Ansible - Extensible: Add models in 3 steps - Direct Python execution (no container overhead) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
51 lines
1.0 KiB
Bash
51 lines
1.0 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Install AI Infrastructure
|
|
# Wrapper script for Ansible playbook
|
|
#
|
|
# Usage:
|
|
# ./install.sh # Full installation
|
|
# ./install.sh --tags base # Install specific components
|
|
#
|
|
|
|
set -e
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
echo "========================================="
|
|
echo " RunPod AI Infrastructure Installation"
|
|
echo "========================================="
|
|
echo ""
|
|
|
|
# Check if Ansible is installed
|
|
if ! command -v ansible-playbook &> /dev/null; then
|
|
echo "Ansible not found. Installing..."
|
|
sudo apt update
|
|
sudo apt install -y ansible
|
|
fi
|
|
|
|
# Check for .env file
|
|
if [ ! -f .env ]; then
|
|
echo "Warning: .env file not found"
|
|
echo "Copy .env.example to .env and add your HF_TOKEN"
|
|
echo ""
|
|
fi
|
|
|
|
# Source .env if it exists
|
|
if [ -f .env ]; then
|
|
set -a
|
|
source .env
|
|
set +a
|
|
fi
|
|
|
|
# Run Ansible playbook
|
|
echo "Running Ansible playbook..."
|
|
echo ""
|
|
|
|
ansible-playbook playbook.yml "$@"
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo " Installation complete!"
|
|
echo "========================================="
|