Skip to content

Latest commit

 

History

History
116 lines (89 loc) · 2.76 KB

File metadata and controls

116 lines (89 loc) · 2.76 KB

CommitBoy Setup Guide

Prerequisites

  • Docker and Docker Compose installed
  • Git with SSH key configured (if using private repositories)

Quick Start

1. Environment Setup

# Copy the environment template
cp env.template .env

# Edit .env with your actual values
# Most importantly:
# - LLM_API_KEY (for OpenAI or other LLM service)
# - GIT_SSH_KEY (your SSH private key for git access)
# - ELASTIC_PASSWORD (for Elasticsearch)

2. Build Images

# Build all services
make build-images

# Or build individual services
make build-webhook
make build-mcp
make build-llm
make build-git
make build-airflow

3. Start Services

# Start all services
make up

# Check status
make logs

# Stop services
make down

Service Dependencies

The services start in this order:

  1. PostgreSQL - Airflow metadata database
  2. Redis - Celery broker for Airflow
  3. Elasticsearch - Log storage
  4. Airflow services - Webserver, scheduler, worker, triggerer
  5. Other services - Webhook listener, MCP engine, LLM service

Common Issues & Solutions

Containers Going Down

  • Missing .env file: Copy env.template to .env and fill in values
  • Port conflicts: Check if ports 8080, 8081, 5001, 5002, 5601, 3000, 9090, 9000 are free
  • Missing secrets: Ensure SSH keys and API keys are properly configured

Airflow Issues

  • Database connection errors: PostgreSQL must be running before Airflow starts
  • Celery worker issues: Redis must be accessible
  • DAG not running: Check if start_date is in the past

Health Checks

All services include health checks that will restart containers if they become unhealthy. Check logs for specific error messages:

# View all logs
make logs

# View specific service logs
docker-compose logs -f airflow-webserver

Monitoring

Troubleshooting

Reset Everything

# Stop and remove everything
make down

# Remove volumes (WARNING: This deletes all data)
docker-compose down -v

# Rebuild and restart
make build-images
make up

Check Service Status

# View running containers
docker-compose ps

# View service health
docker-compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Ports}}"

Environment Variables

Key variables in .env:

  • AIRFLOW__CORE__FERNET_KEY: Generate with python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
  • LLM_API_KEY: Your OpenAI or other LLM service API key
  • GIT_SSH_KEY: Base64 encoded SSH private key
  • ELASTIC_PASSWORD: Elasticsearch password (at least 8 characters)