Installation Guide¶
This guide provides detailed instructions for installing TINAA (Testing Intelligence Network Automation Assistant).
Prerequisites¶
- Docker (recommended) or Python 3.8+
- Git (for source installation)
- Supported OS: Windows, macOS, Linux
- Minimum 4GB RAM, 2GB disk space
Installation Methods¶
Method 1: Pre-built Docker Image (Recommended)¶
Fastest setup using pre-built images from GitHub Container Registry
# Download the production docker-compose file
curl -O https://raw.githubusercontent.com/aj-geddes/tinaa-playwright-msp/main/docker-compose.prod.yml
# Start TINAA with pre-built image
docker-compose -f docker-compose.prod.yml up -d
# Verify installation
curl http://localhost:8765/health
The image ghcr.io/aj-geddes/tinaa-playwright-msp:latest
will be automatically pulled.
Using specific versions:
# Pull a specific version
docker pull ghcr.io/aj-geddes/tinaa-playwright-msp:v1.0.0
# Run with version tag
docker run -p 8765:8765 ghcr.io/aj-geddes/tinaa-playwright-msp:v1.0.0
Method 2: Build from Source with Docker¶
For development and customization
# Clone repository
git clone https://github.com/aj-geddes/tinaa-playwright-msp.git
cd tinaa-playwright-msp
# Build and run
docker-compose up -d
# For HTTP mode
docker-compose -f docker-compose.http.yml up -d
Method 3: Local Python Installation¶
For direct development access
# Clone repository
git clone https://github.com/aj-geddes/tinaa-playwright-msp.git
cd tinaa-playwright-msp
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromium
# Start TINAA
python app/http_server.py
Method 4: Claude Desktop Integration¶
For AI assistant integration
Add to Claude Desktop settings:
{
"mcpServers": {
"tinaa-playwright": {
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/aj-geddes/tinaa-playwright-msp:latest"]
}
}
}
Verification¶
Verify your installation:
# Check health endpoint
curl http://localhost:8765/health
# Expected: {"status":"healthy","timestamp":"..."}
# Test browser connectivity
curl -X POST http://localhost:8765/test/connectivity
# Expected: {"success":true,"result":"Browser started successfully."}
# Check Docker container (if using Docker)
docker ps | grep tinaa
Configuration¶
Environment Variables¶
Create a .env
file for custom configuration:
# TINAA Configuration
TINAA_MODE=http # 'http' or 'mcp'
PLAYWRIGHT_BROWSERS_PATH=/ms-playwright # Browser location
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
MAX_CONCURRENT_TESTS=3 # Parallel test limit
DEFAULT_TIMEOUT=30000 # Default timeout (ms)
SCREENSHOT_ON_FAILURE=true # Auto-capture on errors
Docker Compose Configuration¶
Customize docker-compose.prod.yml
for your environment:
version: '3.8'
services:
tinaa-http:
image: ghcr.io/aj-geddes/tinaa-playwright-msp:latest
container_name: tinaa-playwright-msp-http
command: ["python", "/app/app/http_server.py"]
ports:
- "8765:8765" # Change port if needed
environment:
- PYTHONUNBUFFERED=1
- PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
- TINAA_MODE=http
- LOG_LEVEL=INFO # Adjust logging level
volumes:
- ./logs:/app/logs
- ${PWD}:/mnt/workspace
restart: unless-stopped
# Resource limits (optional)
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G
reservations:
cpus: '0.5'
memory: 1G
Updating TINAA¶
Updating Pre-built Image¶
# Pull latest image
docker pull ghcr.io/aj-geddes/tinaa-playwright-msp:latest
# Restart with new image
docker-compose -f docker-compose.prod.yml down
docker-compose -f docker-compose.prod.yml up -d
Updating from Source¶
# Pull latest changes
git pull origin main
# Rebuild and restart
docker-compose down
docker-compose build
docker-compose up -d
Next Steps¶
Troubleshooting¶
For installation issues, see the Troubleshooting Guide.