version: '3.8' services: kafka: image: confluentinc/cp-kafka:latest environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_CREATE_TOPICS: "request_llm_topic:3:1,response_llm_topic:3:1,add_point_cloud_topic:3:1,add_classified_objects_topic:3:1" # Формат: Топик:Кол-во_партиций:Фактор_репликации ports: - "9092:9092" depends_on: - zookeeper zookeeper: image: confluentinc/cp-zookeeper:latest environment: ZOOKEEPER_CLIENT_PORT: 2181 ports: - "2181:2181" producer: build: context: . dockerfile: producer.Dockerfile environment: - KAFKA_BOOTSTRAP_SERVERS=localhost:9092 depends_on: kafka: condition: service_healthy consumer: build: context: . dockerfile: consumer.Dockerfile environment: - KAFKA_BOOTSTRAP_SERVERS=localhost:9092 ports: - "7781:8000" depends_on: kafka: condition: service_healthy processor: build: context: . dockerfile: processor.Dockerfile environment: - KAFKA_BOOTSTRAP_SERVERS=localhost:9092 depends_on: kafka: condition: service_healthy