services: owl_imports_combiner: build: ./python_services/owl_imports_combiner environment: - COMBINE_OWL_IMPORTS_ON_START=${COMBINE_OWL_IMPORTS_ON_START:-false} - COMBINE_ENTRY_LOCATION - COMBINE_OUTPUT_LOCATION - COMBINE_OUTPUT_NAME - COMBINE_FORCE=${COMBINE_FORCE:-false} - TTL_PATH=${TTL_PATH:-/data/o3po.ttl} volumes: - ./data:/data:Z backend: build: ./backend_go ports: - "8000:8000" environment: - DEFAULT_NODE_LIMIT=${DEFAULT_NODE_LIMIT:-800000} - DEFAULT_EDGE_LIMIT=${DEFAULT_EDGE_LIMIT:-2000000} - MAX_NODE_LIMIT=${MAX_NODE_LIMIT:-10000000} - MAX_EDGE_LIMIT=${MAX_EDGE_LIMIT:-20000000} - INCLUDE_BNODES=${INCLUDE_BNODES:-false} - CORS_ORIGINS=${CORS_ORIGINS:-http://localhost:5173} - SPARQL_HOST=${SPARQL_HOST:-http://anzograph:8080} - SPARQL_ENDPOINT - SPARQL_USER=${SPARQL_USER:-admin} - SPARQL_PASS=${SPARQL_PASS:-Passw0rd1} - SPARQL_DATA_FILE=${SPARQL_DATA_FILE:-file:///opt/shared-files/o3po.ttl} - SPARQL_GRAPH_IRI - SPARQL_LOAD_ON_START=${SPARQL_LOAD_ON_START:-false} - SPARQL_CLEAR_ON_START=${SPARQL_CLEAR_ON_START:-false} - SPARQL_TIMEOUT_S=${SPARQL_TIMEOUT_S:-300} - SPARQL_READY_RETRIES=${SPARQL_READY_RETRIES:-30} - SPARQL_READY_DELAY_S=${SPARQL_READY_DELAY_S:-4} - SPARQL_READY_TIMEOUT_S=${SPARQL_READY_TIMEOUT_S:-10} - EDGE_BATCH_SIZE=${EDGE_BATCH_SIZE:-100000} - FREE_OS_MEMORY_AFTER_SNAPSHOT=${FREE_OS_MEMORY_AFTER_SNAPSHOT:-false} - LOG_SNAPSHOT_TIMINGS=${LOG_SNAPSHOT_TIMINGS:-false} depends_on: owl_imports_combiner: condition: service_completed_successfully anzograph: condition: service_started volumes: - ./data:/data:Z healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:8000/api/health"] interval: 5s timeout: 3s retries: 60 frontend: build: ./frontend ports: - "5173:5173" environment: - VITE_BACKEND_URL=${VITE_BACKEND_URL:-http://backend:8000} volumes: - ./frontend:/app - /app/node_modules depends_on: backend: condition: service_healthy anzograph: image: cambridgesemantics/anzograph:latest container_name: anzograph mem_limit: 20g ports: - "8080:8080" - "8443:8443" volumes: - ./data:/opt/shared-files:Z # Persist AnzoGraph state across container recreation (EULA acceptance, machine-id, settings, persistence). - anzograph_app_home:/opt/anzograph/app-home - anzograph_persistence:/opt/anzograph/persistence - anzograph_config:/opt/anzograph/config - anzograph_internal:/opt/anzograph/internal volumes: anzograph_app_home: anzograph_persistence: anzograph_config: anzograph_internal: