services: 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 - ${CONFIGDIR}/grafana/provisioning/:/etc/grafana/provisioning/dashboards/ - ${CONFIGDIR}/grafana/provisioning/:/etc/grafana/provisioning/datasources/ - ${CONFIGDIR}/grafana/dashboards/:/var/lib/grafana/dashboards/ init-pulsar: command: - sh - -c - while true; do 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; sleep 20; done deploy: resources: limits: cpus: '1' memory: 400M reservations: cpus: '0.1' memory: 400M image: docker.io/apachepulsar/pulsar:3.3.1 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 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: - ${CONFIGDIR}/prometheus:/etc/prometheus/ - prometheus-data:/prometheus pulsar: command: - bin/pulsar - standalone deploy: resources: limits: cpus: '2.0' memory: 1500M reservations: cpus: '1.0' memory: 1500M environment: PULSAR_MEM: -Xms600M -Xmx600M image: docker.io/apachepulsar/pulsar:3.3.1 ports: - 6650:6650 - 8080:8080 restart: on-failure:100 volumes: - 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.10.1 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.10.1 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.10.1 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.10.1 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.10.1 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.10.1 restart: on-failure:100 volumes: grafana-storage: {} neo4j: {} prometheus-data: {} pulsar-data: {} qdrant: {}