-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
129 lines (122 loc) · 3.57 KB
/
docker-compose.yml
File metadata and controls
129 lines (122 loc) · 3.57 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
services:
# Neo4j - with GDS Community Edition (free, limited algorithms)
# Uses Enterprise image with GDS Community license (auto-accepted)
neo4j:
image: neo4j:5-enterprise
container_name: graph-bench-neo4j
ports:
- "7474:7474" # HTTP (browser)
- "7687:7687" # Bolt
environment:
- NEO4J_AUTH=neo4j/benchmark
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
- NEO4J_PLUGINS=["graph-data-science"]
- NEO4J_dbms_security_procedures_unrestricted=gds.*
- NEO4J_dbms_security_procedures_allowlist=gds.*
# GDS Community License (free tier)
- GDS_LICENSE_TIER=community
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7474"]
interval: 10s
timeout: 5s
retries: 5
# Memgraph - with MAGE algorithms (fresh each run)
memgraph:
image: memgraph/memgraph-mage:latest
container_name: graph-bench-memgraph
ports:
- "7688:7687" # Bolt (different port to avoid Neo4j conflict)
- "3000:3000" # Lab (web UI)
healthcheck:
test: ["CMD", "echo", ">", "/dev/tcp/localhost/7687"]
interval: 10s
timeout: 5s
retries: 5
# ArangoDB (fresh each run)
arangodb:
image: arangodb:latest
container_name: graph-bench-arangodb
ports:
- "8529:8529"
environment:
- ARANGO_ROOT_PASSWORD=benchmark
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8529/_api/version"]
interval: 10s
timeout: 5s
retries: 5
# FalkorDB - Graph database on Redis (fresh each run)
falkordb:
image: falkordb/falkordb:latest
container_name: graph-bench-falkordb
ports:
- "6379:6379" # Redis port
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
# TuGraph - High-performance graph DB with 34+ built-in algorithms
tugraph:
image: tugraph/tugraph-runtime-centos7:latest
container_name: graph-bench-tugraph
ports:
- "7070:7070" # HTTP UI
- "7689:7687" # Bolt (remapped to avoid Neo4j/Memgraph conflict)
- "9090:9090" # RPC
healthcheck:
test: ["CMD", "bash", "-c", "echo > /dev/tcp/localhost/7687"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
# NebulaGraph - Distributed graph database (fresh each run)
nebula-metad:
image: vesoft/nebula-metad:v3.6.0
container_name: graph-bench-nebula-metad
environment:
- USER=root
command:
- --meta_server_addrs=nebula-metad:9559
- --local_ip=nebula-metad
- --port=9559
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:19559/status"]
interval: 10s
timeout: 5s
retries: 5
nebula-storaged:
image: vesoft/nebula-storaged:v3.6.0
container_name: graph-bench-nebula-storaged
environment:
- USER=root
command:
- --meta_server_addrs=nebula-metad:9559
- --local_ip=nebula-storaged
- --port=9779
depends_on:
- nebula-metad
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:19779/status"]
interval: 10s
timeout: 5s
retries: 5
nebula-graphd:
image: vesoft/nebula-graphd:v3.6.0
container_name: graph-bench-nebula-graphd
environment:
- USER=root
command:
- --meta_server_addrs=nebula-metad:9559
- --local_ip=nebula-graphd
- --port=9669
ports:
- "9669:9669" # GraphQL port
depends_on:
- nebula-metad
- nebula-storaged
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:19669/status"]
interval: 10s
timeout: 5s
retries: 5