- Бэкенд: FastAPI + SQLAlchemy async + PostgreSQL, JWT-аутентификация, Qdrant multi-tenant векторное хранилище, Celery воркер - Фронтенд: React + Vite + TypeScript SPA (логин, регистрация, дашборд, поиск по коллекциям, настройки) - Инфраструктура: docker-compose, Helm-чарт, GitHub Actions CI, Prometheus/Grafana мониторинг - Embedding через OpenRouter (nvidia/llama-nemotron-embed-vl-1b-v2:free) - LLM: google/gemma-4-31b-it:free через OpenRouter
55 lines
1.2 KiB
YAML
55 lines
1.2 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_DB: support_bot
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
|
|
qdrant:
|
|
image: qdrant/qdrant:latest
|
|
ports:
|
|
- "6333:6333"
|
|
- "6334:6334"
|
|
volumes:
|
|
- qdrant_data:/qdrant/storage
|
|
|
|
backend:
|
|
build: ./backend
|
|
ports:
|
|
- "8000:8000"
|
|
env_file: .env
|
|
environment:
|
|
- DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/support_bot
|
|
- REDIS_URL=redis://redis:6379/0
|
|
- QDRANT_URL=http://qdrant:6333
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- qdrant
|
|
|
|
worker:
|
|
build: ./backend
|
|
command: celery -A app.workers.process_file worker --loglevel=info
|
|
env_file: .env
|
|
environment:
|
|
- DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/support_bot
|
|
- REDIS_URL=redis://redis:6379/0
|
|
- QDRANT_URL=http://qdrant:6333
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- qdrant
|
|
|
|
volumes:
|
|
pgdata:
|
|
qdrant_data:
|