services: maester-enterprise: build: . env_file: - .env ports: - "7860:7860" volumes: - maester-data:/app/data restart: unless-stopped healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:7860/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s n8n: image: docker.n8n.io/n8nio/n8n env_file: - .env ports: - "5678:5678" environment: N8N_HOST: ${N8N_HOST:-localhost} N8N_PORT: ${N8N_PORT:-5678} N8N_PROTOCOL: ${N8N_PROTOCOL:-http} WEBHOOK_URL: ${N8N_WEBHOOK_URL:-http://localhost:5678/} N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY} N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true" N8N_RUNNERS_ENABLED: "true" N8N_DIAGNOSTICS_ENABLED: "false" N8N_PERSONALIZATION_ENABLED: "false" GENERIC_TIMEZONE: ${GENERIC_TIMEZONE:-UTC} TZ: ${GENERIC_TIMEZONE:-UTC} MAESTER_BASE_URL: http://maester-enterprise:7860 MAESTER_API_KEY: ${MAESTER_API_KEY} AI_PROVIDER: ${AI_PROVIDER:-openai} LLM_PROVIDER: ${LLM_PROVIDER:-openai} LLM_MODEL: ${LLM_MODEL:-gpt-4o-mini} OPENAI_API_KEY: ${OPENAI_API_KEY} OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://api.openai.com/v1} OPENAI_MODEL: ${OPENAI_MODEL:-gpt-4o-mini} GEMINI_API_KEY: ${GEMINI_API_KEY} GEMINI_BASE_URL: ${GEMINI_BASE_URL:-https://generativelanguage.googleapis.com/v1beta} GEMINI_MODEL: ${GEMINI_MODEL:-gemini-1.5-flash} OPENROUTER_API_KEY: ${OPENROUTER_API_KEY} OPENROUTER_BASE_URL: ${OPENROUTER_BASE_URL:-https://openrouter.ai/api/v1} OPENROUTER_MODEL: ${OPENROUTER_MODEL:-openai/gpt-4o-mini} OPENROUTER_SITE_URL: ${OPENROUTER_SITE_URL:-http://localhost:5678} OPENROUTER_APP_NAME: "${OPENROUTER_APP_NAME:-Maester Enterprise}" PEXELS_API_KEY: ${PEXELS_API_KEY} KTTS_MODEL: ${KTTS_MODEL:-kokoro-v0_19.onnx} KTTS_VOICE: ${KTTS_VOICE:-af_bella.pt} TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN} TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID} GOOGLE_SHEETS_WEBHOOK_URL: ${GOOGLE_SHEETS_WEBHOOK_URL} TIKTOK_UPLOAD_ENABLED: ${TIKTOK_UPLOAD_ENABLED:-false} TIKTOK_ACCESS_TOKEN: ${TIKTOK_ACCESS_TOKEN} volumes: - n8n-data:/home/node/.n8n depends_on: maester-enterprise: condition: service_healthy restart: unless-stopped volumes: maester-data: n8n-data: