services: redis: image: redis:8.8-trixie container_name: llm-zabbix-redis command: ["redis-server", "--appendonly", "yes"] restart: unless-stopped volumes: - ./redis-data:/data networks: - llm-zabbix alert-receiver: build: context: ./alert-receiver container_name: alert-receiver env_file: - ./alert-receiver/.env restart: unless-stopped depends_on: - alert-processor-ingest ports: - "8080:8080" networks: - llm-zabbix alert-processor-ingest: build: context: ./alert-processor container_name: alert-processor-ingest command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8081"] env_file: - ./alert-processor/.env extra_hosts: - "host.docker.internal:host-gateway" volumes: - ./alert-processor/config:/app/config:ro - ./alert-processor/.matrix_token_state.json:/app/.matrix_token_state.json - ./alert-processor/.graph_images:/app/.graph_images depends_on: - redis restart: unless-stopped ports: - "8081:8081" networks: - llm-zabbix alert-processor-worker: build: context: ./alert-processor container_name: alert-processor-worker command: ["python", "-m", "app.worker"] env_file: - ./alert-processor/.env extra_hosts: - "host.docker.internal:host-gateway" volumes: - ./alert-processor/config:/app/config:ro - ./alert-processor/.matrix_token_state.json:/app/.matrix_token_state.json - ./alert-processor/.graph_images:/app/.graph_images depends_on: - redis restart: unless-stopped networks: - llm-zabbix alert-worker-health: build: context: ./alert-processor container_name: alert-worker-health command: ["uvicorn", "app.worker_health:app", "--host", "0.0.0.0", "--port", "8082"] env_file: - ./alert-processor/.env extra_hosts: - "host.docker.internal:host-gateway" volumes: - ./alert-processor/config:/app/config:ro - ./alert-processor/.matrix_token_state.json:/app/.matrix_token_state.json - ./alert-processor/.graph_images:/app/.graph_images depends_on: - redis restart: unless-stopped ports: - "8082:8082" networks: - llm-zabbix networks: llm-zabbix: driver: bridge