-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
32 lines (31 loc) · 1.58 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
32 lines (31 loc) · 1.58 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
services:
neo4j:
image: neo4j:5-community
ports:
- "7474:7474" # Browser
- "7687:7687" # Bolt
environment:
- NEO4J_AUTH=neo4j/circuit-dev
# Plugins (GDS + APOC) are bind-mounted read-only from the build's Testcontainers
# plugin cache instead of NEO4J_PLUGINS, which re-downloads ~67MB on every container
# start (the persisted volume is never consulted) — a throttled CDN then stalls
# cold-start for minutes (ADR-0045). Populate the cache once via
# `./gradlew downloadGdsPlugin downloadApocPlugin` (any test run does it too); the
# procedures must be whitelisted manually since NEO4J_PLUGINS (which would) is gone.
- NEO4J_dbms_security_procedures_unrestricted=gds.*,apoc.*
- NEO4J_server_memory_heap_initial__size=2g
- NEO4J_server_memory_heap_max__size=4g
- NEO4J_server_memory_pagecache_size=1g
# Fineract single-module ingest with --includeGit/--includeGithub enabled
# holds a single write transaction that exceeded 1.4GB (PetClinic was
# under the default 716MB cap, so this never surfaced before). Heap=4g
# raises `db.memory.transaction.total.max` (default 70% of heap) to
# ~2.8GB, which fits Fineract single-module scale (1183 classes /
# 17k functions / 536 anchor commits / 396 anchored PRs / 185 issues
# / 3398 co-change edges in one merged batch). Phase 3 multi-module
# may need streamed writes if this hits the new ceiling.
volumes:
- neo4j-data:/data
- ./.gradle/circuit-cache/testcontainers-plugins:/plugins:ro
volumes:
neo4j-data: