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} - VERBOSITY=${VERBOSITY:-0} - LOG_LEVELS=${LOG_LEVELS:-INFO} 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 - MCP_LOG_LEVEL=${MCP_LOG_LEVEL:-info} - MCP_LOG_PARAMETERS=${MCP_LOG_PARAMETERS:-false} - MCP_LOG_RESPONSES=${MCP_LOG_RESPONSES:-false} 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" postgres-server: image: postgres:16-alpine profiles: - zabbix-local environment: - POSTGRES_USER=zabbix - POSTGRES_PASSWORD=zabbix - POSTGRES_DB=zabbix volumes: - zbx_db_data:/var/lib/postgresql/data zabbix-server: image: zabbix/zabbix-server-pgsql:${ZABBIX_VERSION:-alpine-7.0-latest} profiles: - zabbix-local ports: - "10051:10051" environment: - DB_SERVER_HOST=postgres-server - POSTGRES_USER=zabbix - POSTGRES_PASSWORD=zabbix - POSTGRES_DB=zabbix - ZBX_ALLOWUNSUPPORTEDDBVERSIONS=1 depends_on: - postgres-server zabbix-web: image: zabbix/zabbix-web-nginx-pgsql:${ZABBIX_VERSION:-alpine-7.0-latest} profiles: - zabbix-local ports: - "8080:8080" environment: - ZBX_SERVER_HOST=zabbix-server - DB_SERVER_HOST=postgres-server - POSTGRES_USER=zabbix - POSTGRES_PASSWORD=zabbix - POSTGRES_DB=zabbix - PHP_TZ=UTC - ZBX_ALLOWUNSUPPORTEDDBVERSIONS=1 depends_on: - postgres-server - zabbix-server volumes: mcp-shared: zbx_db_data: