| version: '3.8' | |
| services: | |
| n8n: | |
| image: n8nio/n8n | |
| ports: | |
| - "5678:5678" | |
| environment: | |
| - N8N_HOST=${N8N_HOST:-localhost} | |
| - N8N_PORT=5678 | |
| - N8N_PROTOCOL=${N8N_PROTOCOL:-http} | |
| - N8N_EDITOR_BASE_URL=${N8N_EDITOR_BASE_URL:-http://localhost:5678} | |
| - WEBHOOK_URL=${WEBHOOK_URL:-http://localhost:5678/} | |
| - OPENAI_API_KEY=${OPENAI_API_KEY} | |
| - WHATSAPP_API_TOKEN=${WHATSAPP_API_TOKEN} | |
| - WHATSAPP_PHONE_NUMBER=${WHATSAPP_PHONE_NUMBER} | |
| - INSTAGRAM_ACCESS_TOKEN=${INSTAGRAM_ACCESS_TOKEN} | |
| - SNAPCHAT_ACCESS_TOKEN=${SNAPCHAT_ACCESS_TOKEN} | |
| volumes: | |
| - ./workflows:/home/node/.n8n/workflows | |
| - ./data:/home/node/.n8n/data | |
| depends_on: | |
| - redis | |
| redis: | |
| image: redis:6-alpine | |
| ports: | |
| - "6379:6379" | |
| volumes: | |
| - redis_data:/data | |
| command: redis-server --appendonly yes | |
| healthcheck: | |
| test: ["CMD", "redis-cli", "ping"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| monitoring: | |
| image: grafana/grafana | |
| ports: | |
| - "3000:3000" | |
| volumes: | |
| - grafana_data:/var/lib/grafana | |
| environment: | |
| - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin} | |
| depends_on: | |
| - prometheus | |
| prometheus: | |
| image: prom/prometheus | |
| ports: | |
| - "9090:9090" | |
| volumes: | |
| - ./prometheus.yml:/etc/prometheus/prometheus.yml | |
| - prometheus_data:/prometheus | |
| command: | |
| - '--config.file=/etc/prometheus/prometheus.yml' | |
| - '--storage.tsdb.path=/prometheus' | |
| - '--web.console.libraries=/usr/share/prometheus/console_libraries' | |
| - '--web.console.templates=/usr/share/prometheus/consoles' | |
| volumes: | |
| redis_data: | |
| grafana_data: | |
| prometheus_data: | |