services: zookeeper: image: confluentinc/cp-zookeeper:latest networks: kafka_network: aliases: - zookeeper deploy: replicas: 1 restart_policy: condition: on-failure environment: ZOOKEEPER_CLIENT_PORT: 2181 ports: - "2181:2181" kafka: image: confluentinc/cp-kafka:latest depends_on: - zookeeper environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT KAFKA_BROKER_ID: 1 KAFKA_MESSAGE_MAX_BYTES: 200000000 KAFKA_REPLICA_FETCH_MAX_BYTES: 200000000 networks: kafka_network: aliases: - kafka ports: - "9092:9092" volumes: - kafka_data:/var/lib/kafka/data deploy: replicas: 1 restart_policy: condition: on-failure data_streamer: image: 127.0.0.1:5000/data_streamer:latest depends_on: - kafka networks: kafka_network: aliases: - data_streamer volumes: - "./10k_sample_2023_10_01-2023_10_31.csv:/data/csv/main.csv:ro" command: "sh -c 'sleep 30 && python /app/pcap_processor.py -c /data/csv/main.csv -x --stream_size 100000'" deploy: replicas: 1 restart_policy: condition: on-failure networks: kafka_network: driver: overlay attachable: true volumes: kafka_data: driver: local