-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
64 lines (60 loc) · 1.69 KB
/
docker-compose.yml
File metadata and controls
64 lines (60 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
version: '3.8'
services:
# ===========================================
# OpenClaw - AI Agent Gateway
# ===========================================
openclaw:
image: node:22-slim
container_name: openclaw-gateway
working_dir: /app
volumes:
- openclaw-data:/app/.openclaw
- ./workspace:/app/workspace
- ./config/openclaw.json:/app/openclaw.json:ro
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
- N8N_WEBHOOK_BASE=http://n8n:5678/webhook
ports:
- "3456:3456"
command: >
sh -c "npm install -g openclaw &&
openclaw gateway start --port 3456"
depends_on:
- n8n
restart: unless-stopped
networks:
- ai-stack
# ===========================================
# n8n - Workflow Automation
# ===========================================
n8n:
image: n8nio/n8n:latest
container_name: n8n-workflows
volumes:
- n8n-data:/home/node/.n8n
- ./workflows:/home/node/workflows
environment:
- N8N_HOST=0.0.0.0
- N8N_PORT=5678
- N8N_PROTOCOL=http
- WEBHOOK_URL=${N8N_WEBHOOK_URL:-http://localhost:5678}
- GENERIC_TIMEZONE=${TIMEZONE:-UTC}
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=${N8N_USER:-admin}
- N8N_BASIC_AUTH_PASSWORD=${N8N_PASSWORD:-changeme}
# AI API Keys (shared with OpenClaw)
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
ports:
- "5678:5678"
restart: unless-stopped
networks:
- ai-stack
volumes:
openclaw-data:
n8n-data:
networks:
ai-stack:
driver: bridge