mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-03 12:16:10 +00:00
Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Claude <noreply@anthropic.com>
41 lines
1.2 KiB
YAML
41 lines
1.2 KiB
YAML
services:
|
|
neo4j:
|
|
image: neo4j:2025.06-community
|
|
container_name: neo4j
|
|
ports:
|
|
- 7474:7474
|
|
- 7687:7687
|
|
environment:
|
|
- NEO4J_AUTH=neo4j/testpassword
|
|
- NEO4J_PLUGINS=["apoc"]
|
|
- NEO4J_dbms_security_procedures_unrestricted=apoc.*
|
|
- NEO4J_dbms_security_procedures_allowlist=apoc.*
|
|
networks:
|
|
- testnet
|
|
healthcheck:
|
|
test: ["CMD", "cypher-shell", "-u", "neo4j", "-p", "testpassword", "MATCH () RETURN count(*) as count"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 15
|
|
start_period: 30s
|
|
|
|
# Separate initialization container needed because Neo4j doesn't auto-run init scripts.
|
|
# Unlike PostgreSQL/MySQL that have /docker-entrypoint-initdb.d/, Neo4j doesn't
|
|
# automatically execute .cypher files, so we need this container to load test data.
|
|
neo4j-init:
|
|
image: neo4j:2025.06-community
|
|
container_name: neo4j-init
|
|
depends_on:
|
|
neo4j:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./setup/init.cypher:/init.cypher
|
|
command: >
|
|
bash -c "
|
|
cypher-shell -a neo4j://neo4j:7687 -u neo4j -p testpassword -f /init.cypher
|
|
"
|
|
networks:
|
|
- testnet
|
|
|
|
networks:
|
|
testnet: |