services: cassandra: deploy: resources: limits: cpus: '1.0' memory: 800M reservations: cpus: '0.5' memory: 800M environment: JVM_OPTS: -Xms256M -Xmx256M image: docker.io/cassandra:4.1.6 ports: - 9042:9042 restart: on-failure:100 volumes: - cassandra:/var/lib/cassandra 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 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-cassandra - -p - pulsar://pulsar:6650 - -g - cassandra deploy: resources: limits: cpus: '0.5' memory: 512M reservations: cpus: '0.1' memory: 512M 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-cassandra - -p - pulsar://pulsar:6650 - -g - cassandra 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: cassandra: {} grafana-storage: {} prometheus-data: {} pulsar-data: {} qdrant: {}