version: '3.8' # ============================================================================ # SALES BOT - Docker Compose # ============================================================================ # # Servicio: Sales Bot (Bot de ventas con OCR) # Requiere: Mattermost y NocoDB corriendo # Puerto: 5000 # # Uso: # 1. Editar archivo .env con tus credenciales # 2. docker-compose build # 3. docker-compose up -d # Acceder: http://your-server-ip:5000/health # services: sales-bot: build: context: . dockerfile: Dockerfile container_name: sales-bot restart: unless-stopped ports: - "5000:5000" environment: # === MATTERMOST === MATTERMOST_URL: ${MATTERMOST_URL:-http://host.docker.internal:8065} MATTERMOST_BOT_TOKEN: ${MATTERMOST_BOT_TOKEN} MATTERMOST_TEAM_NAME: ${MATTERMOST_TEAM_NAME:-sales} MATTERMOST_WEBHOOK_SECRET: ${MATTERMOST_WEBHOOK_SECRET} MATTERMOST_WEBHOOK_URL: ${MATTERMOST_WEBHOOK_URL} # === NOCODB === NOCODB_URL: ${NOCODB_URL:-http://host.docker.internal:8080} NOCODB_TOKEN: ${NOCODB_TOKEN} NOCODB_TABLE_VENDEDORES: ${NOCODB_TABLE_VENDEDORES} NOCODB_TABLE_VENTAS: ${NOCODB_TABLE_VENTAS} NOCODB_TABLE_VENTAS_DETALLE: ${NOCODB_TABLE_VENTAS_DETALLE} NOCODB_TABLE_METAS: ${NOCODB_TABLE_METAS} # === FLASK === FLASK_PORT: 5000 FLASK_DEBUG: "False" # === LOGGING === LOG_LEVEL: INFO LOG_FILE: /app/logs/sales-bot.log # === ZONA HORARIA === TZ: America/Mexico_City TZ_OFFSET: "-6" volumes: # Montar logs para persistencia - ./logs:/app/logs # Si quieres desarrollo en caliente, descomentar: # - ./app.py:/app/app.py # - ./nocodb_client.py:/app/nocodb_client.py # - ./mattermost_client.py:/app/mattermost_client.py # - ./ocr_processor.py:/app/ocr_processor.py # - ./handlers.py:/app/handlers.py networks: - sales-bot-network # Extra hosts para conectar con servicios del host extra_hosts: - "host.docker.internal:host-gateway" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5000/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s networks: sales-bot-network: driver: bridge volumes: logs: