"services": "chunker": "command": - "chunker-token" - "-p" - "pulsar://pulsar:6650" - "--chunk-size" - "250" - "--chunk-overlap" - "15" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "embeddings": "command": - "embeddings-hf" - "-p" - "pulsar://pulsar:6650" - "-m" - "all-MiniLM-L6-v2" "deploy": "resources": "limits": "cpus": "1.0" "memory": "256M" "reservations": "cpus": "0.5" "memory": "256M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "grafana": "deploy": "resources": "limits": "cpus": "1.0" "memory": "256M" "reservations": "cpus": "0.5" "memory": "256M" "environment": "GF_ORG_NAME": "trustgraph.ai" "image": "docker.io/grafana/grafana:11.1.4" "ports": - "3000:3000" "restart": "on-failure:100" "volumes": - "grafana-storage:/var/lib/grafana" - "./grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml" - "./grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml" - "./grafana/dashboard.json:/var/lib/grafana/dashboards/dashboard.json" "graph-rag": "command": - "graph-rag" - "-p" - "pulsar://pulsar:6650" - "--prompt-request-queue" - "non-persistent://tg/request/prompt-rag" - "--prompt-response-queue" - "non-persistent://tg/response/prompt-rag-response" - "--entity-limit" - "50" - "--triple-limit" - "30" - "--max-subgraph-size" - "3000" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "init-pulsar": "command": - "sh" - "-c" - "pulsar-admin --admin-url http://pulsar:8080 tenants create tg && pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/flow && pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/request && pulsar-admin --admin-url http://pulsar:8080 namespaces create tg/response && pulsar-admin --admin-url http://pulsar:8080 namespaces set-retention --size -1 --time 3m tg/response" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/apachepulsar/pulsar:3.3.1" "restart": "on-failure:100" "kg-extract-definitions": "command": - "kg-extract-definitions" - "-p" - "pulsar://pulsar:6650" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "kg-extract-relationships": "command": - "kg-extract-relationships" - "-p" - "pulsar://pulsar:6650" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "kg-extract-topics": "command": - "kg-extract-topics" - "-p" - "pulsar://pulsar:6650" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "neo4j": "deploy": "resources": "limits": "cpus": "1.0" "memory": "768M" "reservations": "cpus": "0.5" "memory": "768M" "environment": "NEO4J_AUTH": "neo4j/password" "image": "docker.io/neo4j:5.22.0-community-bullseye" "ports": - "7474:7474" - "7687:7687" "restart": "on-failure:100" "volumes": - "neo4j:/data" "pdf-decoder": "command": - "pdf-decoder" - "-p" - "pulsar://pulsar:6650" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "prometheus": "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/prom/prometheus:v2.53.2" "ports": - "9090:9090" "restart": "on-failure:100" "volumes": - "./prometheus:/etc/prometheus" - "prometheus-data:/prometheus" "prompt": "command": - "prompt-generic" - "-p" - "pulsar://pulsar:6650" - "--text-completion-request-queue" - "non-persistent://tg/request/text-completion" - "--text-completion-response-queue" - "non-persistent://tg/response/text-completion-response" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "prompt-rag": "command": - "prompt-generic" - "-p" - "pulsar://pulsar:6650" - "-i" - "non-persistent://tg/request/prompt-rag" - "-o" - "non-persistent://tg/response/prompt-rag-response" - "--text-completion-request-queue" - "non-persistent://tg/request/text-completion-rag" - "--text-completion-response-queue" - "non-persistent://tg/response/text-completion-rag-response" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "pulsar": "command": "bin/pulsar standalone" "deploy": "resources": "limits": "cpus": "1.0" "memory": "900M" "reservations": "cpus": "0.5" "memory": "900M" "environment": "PULSAR_MEM": "-Xms700M -Xmx700M" "image": "docker.io/apachepulsar/pulsar:3.3.1" "ports": - "6650:6650" - "8080:8080" "restart": "on-failure:100" "volumes": - "pulsar-conf:/pulsar/conf" - "pulsar-data:/pulsar/data" "qdrant": "deploy": "resources": "limits": "cpus": "1.0" "memory": "256M" "reservations": "cpus": "0.5" "memory": "256M" "image": "docker.io/qdrant/qdrant:v1.11.1" "ports": - "6333:6333" - "6334:6334" "restart": "on-failure:100" "volumes": - "qdrant:/qdrant/storage" "query-doc-embeddings": "command": - "de-query-qdrant" - "-p" - "pulsar://pulsar:6650" - "-t" - "http://qdrant:6333" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "query-graph-embeddings": "command": - "ge-query-qdrant" - "-p" - "pulsar://pulsar:6650" - "-t" - "http://qdrant:6333" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "query-triples": "command": - "triples-query-neo4j" - "-p" - "pulsar://pulsar:6650" - "-g" - "bolt://neo4j:7687" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "store-doc-embeddings": "command": - "de-write-qdrant" - "-p" - "pulsar://pulsar:6650" - "-t" - "http://qdrant:6333" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "store-graph-embeddings": "command": - "ge-write-qdrant" - "-p" - "pulsar://pulsar:6650" - "-t" - "http://qdrant:6333" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "store-triples": "command": - "triples-write-neo4j" - "-p" - "pulsar://pulsar:6650" - "-g" - "bolt://neo4j:7687" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "text-completion": "command": - "text-completion-llamafile" - "-p" - "pulsar://pulsar:6650" - "-m" - "LLaMA_CPP" - "-r" - "${LLAMAFILE_URL}" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "text-completion-rag": "command": - "text-completion-llamafile" - "-p" - "pulsar://pulsar:6650" - "-m" - "LLaMA_CPP" - "-r" - "${LLAMAFILE_URL}" - "-i" - "non-persistent://tg/request/text-completion-rag" - "-o" - "non-persistent://tg/response/text-completion-rag-response" "deploy": "resources": "limits": "cpus": "0.5" "memory": "128M" "reservations": "cpus": "0.1" "memory": "128M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "vectorize": "command": - "embeddings-vectorize" - "-p" - "pulsar://pulsar:6650" "deploy": "resources": "limits": "cpus": "1.0" "memory": "512M" "reservations": "cpus": "0.5" "memory": "512M" "image": "docker.io/trustgraph/trustgraph-flow:0.9.5" "restart": "on-failure:100" "volumes": "grafana-storage": {} "neo4j": {} "prometheus-data": {} "pulsar-conf": {} "pulsar-data": {} "qdrant": {}