-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
109 lines (102 loc) · 2.56 KB
/
Copy pathdocker-compose.yml
File metadata and controls
109 lines (102 loc) · 2.56 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Skill Seekers Docker Compose
# Complete deployment with MCP server and vector databases
services:
# Main Skill Seekers CLI application
skill-seekers:
build:
context: .
dockerfile: Dockerfile
image: skill-seekers:latest
container_name: skill-seekers
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GOOGLE_API_KEY=${GOOGLE_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- GITHUB_TOKEN=${GITHUB_TOKEN}
volumes:
- ./data:/data
- ./configs:/configs:ro
- ./output:/output
networks:
- skill-seekers-net
command: ["skill-seekers", "--help"]
# MCP Server (HTTP mode)
mcp-server:
build:
context: .
dockerfile: Dockerfile.mcp
image: skill-seekers-mcp:latest
container_name: skill-seekers-mcp
ports:
- "8765:8765"
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GOOGLE_API_KEY=${GOOGLE_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- GITHUB_TOKEN=${GITHUB_TOKEN}
- MCP_TRANSPORT=http
- MCP_PORT=8765
volumes:
- ./data:/data
- ./configs:/configs:ro
- ./output:/output
networks:
- skill-seekers-net
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8765/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Weaviate Vector Database
weaviate:
image: semitechnologies/weaviate:latest
container_name: weaviate
ports:
- "8080:8080"
environment:
QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
DEFAULT_VECTORIZER_MODULE: 'none'
ENABLE_MODULES: ''
CLUSTER_HOSTNAME: 'node1'
volumes:
- weaviate-data:/var/lib/weaviate
networks:
- skill-seekers-net
restart: unless-stopped
# Qdrant Vector Database
qdrant:
image: qdrant/qdrant:latest
container_name: qdrant
ports:
- "6333:6333"
- "6334:6334"
volumes:
- qdrant-data:/qdrant/storage
networks:
- skill-seekers-net
restart: unless-stopped
# Chroma Vector Database
chroma:
image: ghcr.io/chroma-core/chroma:latest
container_name: chroma
ports:
- "8000:8000"
environment:
IS_PERSISTENT: 'TRUE'
PERSIST_DIRECTORY: '/chroma/data'
volumes:
- chroma-data:/chroma/data
networks:
- skill-seekers-net
restart: unless-stopped
networks:
skill-seekers-net:
driver: bridge
volumes:
weaviate-data:
qdrant-data:
chroma-data: