From dc31f837fd3bc44992c142ded6be4c4a3f832b5b Mon Sep 17 00:00:00 2001 From: "reza.g" Date: Tue, 29 Sep 2026 00:04:56 +0330 Subject: [PATCH] feat(docker): add procurement-bot service with Groq STT and compose integration --- .gitignore | 2 ++ docker-compose.yml | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/.gitignore b/.gitignore index b14be21..97d85df 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,8 @@ frontend/.env scratch/ v1.2 - Copy/ inv dash/ +bot/ +voice/ # ---- Machine-local compose overrides (LAN phone access, etc.) ---- docker-compose.override.yml diff --git a/docker-compose.yml b/docker-compose.yml index 92006db..7be091b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -208,6 +208,7 @@ services: mem_limit: 768m api: + image: v15-api:latest build: context: ./backend dockerfile: Dockerfile @@ -276,6 +277,7 @@ services: mem_limit: 768m frontend: + image: v15-frontend:latest build: context: ./frontend args: @@ -311,6 +313,43 @@ services: restart: unless-stopped mem_limit: 128m + bot: + image: v15-bot:latest + build: + context: ./bot + dockerfile: Dockerfile + container_name: procurement-bot + + volumes: + - ./bot/app:/srv/bot/app + + environment: + PROCUREMENT_BOT_BOT_TOKEN: ${BALE_BOT_TOKEN:-1354444845:yhVMnKZBFuKaU3UW5fP1bHmknEHx99mipWw} + PROCUREMENT_BOT_BALE_API_BASE: ${BALE_API_BASE:-https://tapi.bale.ai} + PROCUREMENT_BOT_API_BASE_URL: http://api:8000/api/v1 + PROCUREMENT_BOT_DATABASE_URL: postgresql+asyncpg://postgres:${POSTGRES_PASSWORD:-postgres}@postgres:5432/procurement + PROCUREMENT_BOT_AI_BASE_URL: ${AI_BASE_URL:-https://api.deepseek.com} + PROCUREMENT_BOT_AI_API_KEY: ${AI_API_KEY:-sk-a671eab15be846d494bf0839070a3b32} + PROCUREMENT_BOT_LLM_MODEL: ${AI_LLM_MODEL:-deepseek-flash} + PROCUREMENT_BOT_STT_MODEL: ${AI_STT_MODEL:-whisper-large-v3} + PROCUREMENT_BOT_STT_BASE_URL: ${AI_STT_BASE_URL:-https://api.groq.com/openai/v1} + PROCUREMENT_BOT_STT_API_KEY: ${AI_STT_API_KEY:-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} + PROCUREMENT_BOT_ADMIN_CHAT_IDS: ${BALE_ADMIN_CHAT_IDS:-1461166742,1839839922} + PROCUREMENT_BOT_SERVICE_TOKEN: ${BALE_SERVICE_TOKEN:-} + PROCUREMENT_BOT_FRONTEND_URL: ${APP_HOST:-http://localhost} + + depends_on: + postgres: + condition: service_healthy + api: + condition: service_started + + networks: + - default + + restart: unless-stopped + mem_limit: 512m + networks: # شبکه‌ی عمومی: فقط ترافیک و سرویس‌های عمومی. postgres روی شبکه‌ی # پیش‌فرض می‌ماند و از بیرون قابل دسترسی نیست.