# Podman Compose Configuration for Persistent Context Store
# Run with: podman-compose up -d
version: '3.8'
services:
# Neo4j Database
neo4j:
image: neo4j:5.15-community
environment:
NEO4J_AUTH: neo4j/contextstore123
NEO4J_PLUGINS: '["apoc"]'
NEO4J_dbms_security_procedures_unrestricted: apoc.*
NEO4J_dbms_memory_heap_initial__size: 512m
NEO4J_dbms_memory_heap_max__size: 1G
ports:
- "7474:7474" # HTTP
- "7687:7687" # Bolt
volumes:
- neo4j_data:/data
- neo4j_logs:/logs
- neo4j_import:/import
- neo4j_plugins:/plugins
healthcheck:
test: ["CMD", "cypher-shell", "-u", "neo4j", "-p", "contextstore123", "RETURN 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 20s
# Elasticsearch (optional, for advanced search)
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0
environment:
discovery.type: single-node
ES_JAVA_OPTS: -Xms512m -Xmx512m
xpack.security.enabled: false
ports:
- "9200:9200"
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
volumes:
neo4j_data:
neo4j_logs:
neo4j_import:
neo4j_plugins:
elasticsearch_data:
networks:
default:
name: context-store-network