# Docker Compose for local development - only database services # Usage: docker-compose -f docker-compose.local.yml up -d services: # PostgreSQL Database db: image: postgres:16-alpine container_name: ggw-db restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-ggw} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ggwpassword} POSTGRES_DB: ${POSTGRES_DB:-ggwdb} volumes: - postgres_data:/var/lib/postgresql/data ports: - "${POSTGRES_PORT_LOCAL:-5433}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-ggw} -d ${POSTGRES_DB:-ggwdb}"] interval: 5s timeout: 5s retries: 5 # Neo4j Graph Database (for Mem0 graph memory and Graphiti knowledge graph) neo4j: image: neo4j:5.26-community container_name: ggw-neo4j restart: unless-stopped environment: NEO4J_AUTH: ${NEO4J_USER:-neo4j}/${NEO4J_PASSWORD:-changeme} NEO4J_PLUGINS: '["apoc"]' NEO4J_dbms_security_procedures_unrestricted: apoc.* ports: - "7474:7474" # Browser UI - "7687:7687" # Bolt protocol volumes: - neo4j_data:/data - neo4j_logs:/logs healthcheck: test: ["CMD", "cypher-shell", "-u", "${NEO4J_USER:-neo4j}", "-p", "${NEO4J_PASSWORD:-changeme}", "RETURN 1"] interval: 10s timeout: 5s retries: 5 volumes: postgres_data: neo4j_data: neo4j_logs: