zabbix-graphql-api/docker-compose.yml
Andreas Hilbig b646b8c606 feat: optimize Zabbix queries and enhance specialized device support
- Implement query optimization (reduced output, parameter skipping) to minimize Zabbix API traffic.

- Add indirect dependency handling: deviceType implies tags and state implies items.

- Move schema extensions to samples/extensions/ to clarify their role as samples.

- Enhance DistanceTrackerDevice with String time fields to support optional date portions.

- Ensure allDevices strictly filters by deviceType and populates the field in results.

- Refactor runAllRegressionTests mutation to use internal unique names and improve stability.

- Fix unnecessary Zabbix API calls for item preprocessing during template and host imports.

- Update documentation including cookbook recipes, test specifications, and optimization guides.

- Add extensive unit, integration, and regression tests covering all implemented changes.

- Update docker-compose.yml to mount the samples/ directory as a volume.

- Update IntelliJ .idea run configurations to reflect the new sample extension paths.
2026-02-02 13:20:06 +01:00

42 lines
996 B
YAML

services:
zabbix-graphql-api:
build:
context: .
args:
- API_VERSION=1.0.0
ports:
- "4001:4000"
env_file:
- .env
environment:
- SCHEMA_PATH=/usr/app/dist/schema/
- ZABBIX_DEVELOPMENT_TOKEN=${ZABBIX_DEVELOPMENT_TOKEN}
volumes:
- ./samples:/usr/app/dist/samples
apollo-mcp-server:
image: ghcr.io/apollographql/apollo-mcp-server:latest
ports:
- "3000:8000"
volumes:
- ./mcp-config.yaml:/mcp-config.yaml
- mcp-shared:/mcp-data:ro
- ./mcp/operations:/mcp/operations
command: /mcp-config.yaml
environment:
- APOLLO_GRAPH_REF=local@main
depends_on:
schema-gen:
condition: service_completed_successfully
zabbix-graphql-api:
condition: service_started
schema-gen:
image: alpine
volumes:
- ./schema:/schema:ro
- mcp-shared:/mcp-data
command: sh -c "cat /schema/*.graphql > /mcp-data/schema.graphql"
volumes:
mcp-shared: