Files
epstein-db/docker-compose.yml

65 lines
1.6 KiB
YAML

services:
postgres:
image: postgres:16-alpine
container_name: epstein-db-postgres
restart: unless-stopped
environment:
POSTGRES_USER: epstein
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-epstein_dev}
POSTGRES_DB: epstein
ports:
- "5434:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
- ./schema/postgres:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U epstein -d epstein"]
interval: 10s
timeout: 5s
retries: 5
neo4j:
image: neo4j:5-community
container_name: epstein-db-neo4j
restart: unless-stopped
environment:
NEO4J_AUTH: neo4j/${NEO4J_PASSWORD:-neo4j_dev}
NEO4J_PLUGINS: '["apoc"]'
NEO4J_dbms_memory_heap_initial__size: 512m
NEO4J_dbms_memory_heap_max__size: 2G
ports:
- "7474:7474" # HTTP
- "7687:7687" # Bolt
volumes:
- neo4j_data:/data
- neo4j_logs:/logs
healthcheck:
test: ["CMD", "neo4j", "status"]
interval: 10s
timeout: 10s
retries: 5
typesense:
image: typesense/typesense:27.1
container_name: epstein-db-typesense
restart: unless-stopped
environment:
TYPESENSE_DATA_DIR: /data
TYPESENSE_API_KEY: ${TYPESENSE_API_KEY:-typesense_dev}
TYPESENSE_ENABLE_CORS: "true"
ports:
- "8108:8108"
volumes:
- typesense_data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8108/health"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres_data:
neo4j_data:
neo4j_logs:
typesense_data: