Files
aiform_dev/docker-compose.yml
AI Assistant f72aa59476 Интеграция SSE + Redis Pub/Sub для real-time OCR результатов
🎯 Основные изменения:

Backend:
- Реализован SSE endpoint /events/{task_id} для real-time стриминга событий
- Интеграция Redis Pub/Sub для получения событий от n8n
- Исправлен путь к .env файлу (абсолютный путь)
- Убран префикс /api/v1 для events router
- Добавлено подробное логирование событий

Frontend:
- Переключён на Vite dev mode для работы proxy
- Настроен proxy /events -> backend:8100
- Реализована модалка с крутилкой при загрузке файла
- SSE клиент для получения OCR результатов в real-time
- Отображение результатов AI анализа в модалке

Docker:
- Frontend: изменён на npm run dev (Vite dev server)
- Добавлен host.docker.internal для доступа к backend
- Настроен proxy в docker-compose

Утилиты:
- monitor_redis_direct.py - мониторинг Redis Pub/Sub
- test_redis_publish_direct.py - тестирование публикации в Redis

🚀 Полная цепочка работает:
Frontend → Backend SSE → Redis Pub/Sub ← n8n → OCR/AI → Result
2025-10-27 19:37:41 +03:00

67 lines
1.3 KiB
YAML

version: '3.8'
services:
# React Frontend
frontend:
build: ./frontend
ports:
- "5173:3000"
environment:
- REACT_APP_API_URL=http://147.45.146.17:8100
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- erv-network
restart: unless-stopped
# Python FastAPI Backend
backend:
build: ./backend
ports:
- "8100:8100"
environment:
- REDIS_URL=redis://redis:6379
- POSTGRES_URL=postgresql://erv_user:erv_password@postgres:5432/erv_db
- RABBITMQ_URL=amqp://admin:tyejvtej@185.197.75.249:5672
depends_on:
- redis
- postgres
networks:
- erv-network
restart: unless-stopped
# Redis для кеширования
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- erv-network
restart: unless-stopped
# PostgreSQL для логов и аналитики
postgres:
image: postgres:15-alpine
environment:
- POSTGRES_DB=erv_db
- POSTGRES_USER=erv_user
- POSTGRES_PASSWORD=erv_password
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- erv-network
restart: unless-stopped
volumes:
redis_data:
postgres_data:
networks:
erv-network:
driver: bridge