/
alexefan136
/
flowstack
Обзор
Документация
Войти
/
alexefan136
/
flowstack
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
docker-compose.yml
150 строк
4 KB
Alexander Efanov
upd fix
04 авг 2026, 14:09
04 авг 2026, 14:09
f63ab86
Код
Авторство
О чём код?
# docker-compose.prod.yml services: postgres: image: postgres:16-alpine container_name: flowstack-postgres restart: unless-stopped environment: POSTGRES_DB: flowstack POSTGRES_USER: flowstack POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-flowstack_secret} volumes: - postgres_data:/var/lib/postgresql/data networks: [flowstack-network] healthcheck: test: ["CMD-SHELL", "pg_isready -U flowstack"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine container_name: flowstack-redis restart: unless-stopped command: redis-server --appendonly yes volumes: - redis_data:/data networks: [flowstack-network] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 qdrant: image: qdrant/qdrant:v1.18.1 container_name: flowstack-qdrant restart: unless-stopped environment: - QDRANT__SERVICE__GRPC_PORT=6334 volumes: - qdrant_data:/qdrant/storage networks: [flowstack-network] healthcheck: test: ["CMD-SHELL", "bash -c '</dev/tcp/localhost/6333'"] interval: 10s timeout: 5s retries: 5 start_period: 15s rag: image: gitverse.ru/alexefan136/flowstack:rag-latest container_name: flowstack-rag restart: unless-stopped ports: - "8002:8000" environment: - SERVER_HOST=0.0.0.0 - SERVER_PORT=8000 - QDRANT_URL=http://qdrant:6334 - QDRANT_COLLECTION=rag_chunks - QDRANT_VECTOR_SIZE=2048 - QDRANT_DISTANCE=cosine - LLM_API_KEY=${LLM_API_KEY:-} - LLM_BASE_URL=${LLM_BASE_URL:-https://foundation-models.api.cloud.ru/v1} - LLM_EMBEDDING_MODEL=${LLM_EMBEDDING_MODEL:-Qwen/Qwen3-VL-Embedding-2B} - LLM_RERANKER_MODEL=${LLM_RERANKER_MODEL:-Qwen/Qwen3-VL-Reranker-2B} - CHUNKING_STRATEGY=recursive - CHUNK_SIZE=1000 - CHUNK_OVERLAP=200 - RUST_LOG=info depends_on: qdrant: { condition: service_healthy } networks: [flowstack-network] healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 5s retries: 3 start_period: 15s engine: image: gitverse.ru/alexefan136/flowstack:engine-latest container_name: flowstack-engine restart: unless-stopped ports: - "8000:8000" environment: - FLOWSTACK_APP_ENV=production - LLM_API_KEY=${LLM_API_KEY:-} - LLM_BASE_URL=${LLM_BASE_URL:-https://foundation-models.api.cloud.ru/v1} - LLM_MODEL=${LLM_MODEL:-deepseek-ai/DeepSeek-V4-Pro} - RAG_SERVICE_URL=http://rag:8000 - FLOWSTACK_DATABASE_URL=postgresql+asyncpg://flowstack:${POSTGRES_PASSWORD:-flowstack_secret}@postgres:5432/flowstack - FLOWSTACK_REDIS_URL=redis://redis:6379/1 volumes: - engine-cache:/app/cache depends_on: postgres: { condition: service_healthy } redis: { condition: service_healthy } rag: { condition: service_healthy } networks: [flowstack-network] healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health', timeout=5)"] interval: 15s timeout: 10s retries: 5 start_period: 40s gateway: image: gitverse.ru/alexefan136/flowstack:gateway-latest container_name: flowstack-gateway restart: unless-stopped ports: - "8080:8080" environment: - FLOWSTACK_ENGINE_URL=http://engine:8000 - FLOWSTACK_RAG_URL=http://rag:8000 - FLOWSTACK_JWT_SECRET=${JWT_SECRET:-change-me} - FLOWSTACK_AUTH_MODE=optional - RUST_LOG=flowstack_gateway=info,tower_http=info depends_on: engine: { condition: service_healthy } rag: { condition: service_healthy } networks: [flowstack-network] healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 15s timeout: 5s retries: 5 start_period: 60s ui: image: gitverse.ru/alexefan136/flowstack:ui-latest container_name: flowstack-ui restart: unless-stopped ports: - "3000:80" depends_on: gateway: { condition: service_started } networks: [flowstack-network] volumes: engine-cache: postgres_data: redis_data: qdrant_data: networks: flowstack-network: driver: bridge