70 lines
1.6 KiB
YAML

services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
networks:
data-network:
aliases:
- zookeeper
deploy:
replicas: 1
restart_policy:
condition: on-failure
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ports:
- "2181:2181"
volumes:
- zk_data:/var/lib/zookeeper/data
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:
data-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:
data-network:
aliases:
- data-streamer
volumes:
- "../preprocessing/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:
data-network:
driver: overlay
attachable: true
volumes:
zk_data:
driver: local
kafka_data:
driver: local