| 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: | |