# Docker Deployment

This folder contains Docker Compose configuration to run the entire AI VideoAssistant stack.

## Services

| Service | Port | Description |
|---------|------|-------------|
| minio | 9000, 9001 | S3-compatible object storage |
| backend | 8100 | FastAPI backend API |
| engine | 8001 | Conversation engine (WebSocket) |
| frontend | 6000 | React web application |

## Prerequisites

1. Docker and Docker Compose installed
2. The `engine/data/vad/silero_vad.onnx` VAD model file must exist
3. Agent configuration in `engine/config/agents/default.yaml`

## Quick Start

```bash
cd docker
docker compose up -d
```

## Access Points

- **Frontend**: http://localhost:6000
- **Backend API**: http://localhost:8100
- **Engine WebSocket**: ws://localhost:8001/ws
- **MinIO Console**: http://localhost:9001 (admin / password123)

## Configuration

### Engine Environment Variables

The engine service uses environment variables for configuration. Key variables:

- `BACKEND_URL`: Backend API URL (default: `http://backend:8100`)
- `LOG_LEVEL`: Logging level (default: `INFO`)
- `CORS_ORIGINS`: Allowed CORS origins

Agent-specific settings (LLM, TTS, ASR) are configured via YAML files in `engine/config/agents/`.

### Volumes

- `minio_data`: MinIO storage data
- `backend_data`: Backend SQLite database
- `engine_logs`: Engine log files

## Development Mode

To mount source code for hot-reload during development:

```bash
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
```

## Logs

```bash
# View all logs
docker compose logs -f

# View specific service logs
docker compose logs -f engine
docker compose logs -f backend
```

## Stopping

```bash
docker compose down

# Remove volumes as well
docker compose down -v
```
