version: '3.8' services: redis: image: redis:7.2-alpine container_name: kt-event-redis ports: - "6379:6379" volumes: - redis-data:/data command: redis-server --appendonly yes restart: unless-stopped networks: - kt-event-network zookeeper: image: confluentinc/cp-zookeeper:7.5.0 container_name: kt-event-zookeeper environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 ports: - "2181:2181" restart: unless-stopped networks: - kt-event-network kafka: image: confluentinc/cp-kafka:7.5.0 container_name: kt-event-kafka depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" restart: unless-stopped networks: - kt-event-network volumes: redis-data: driver: local networks: kt-event-network: driver: bridge