version: '3.4' services: zookeeper: container_name: zookeeper image: "custom/zookeeper:latest" build: context: . dockerfile: Dockerfile-zookeeper ports: - "2181:2181" restart: unless-stopped kafka: container_name: kafka image: "custom/kafka:latest" build: context: . dockerfile: Dockerfile-kafka ports: - "9094:9094" environment: KAFKA_ADVERTISED_LISTENERS: INSIDE://:9092,OUTSIDE://localhost:9094 KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9094 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped kafka-ui: container_name: kafka-ui image: provectuslabs/kafka-ui:latest ports: - "8080:8080" environment: KAFKA_CLUSTERS_0_NAME: local KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092 mongo1: image: "custom/mongo:latest" container_name: mongo1 build: context: . dockerfile: Dockerfile-mongo command: --replSet rs0 ports: - "27017:27017" mongo1-setup: image: "custom/mongo:latest" container_name: mongo1-setup entrypoint: ["bash", "-c", "/setup.sh"] restart: "no" mongo1-express: container_name: mongo1-express image: mongo-express environment: - ME_CONFIG_MONGODB_URL="mongodb://mongo1:27017" ports: - '8081:8081' connect: image: custom/connect:latest build: context: . dockerfile: Dockerfile-connect hostname: connect container_name: connect environment: CONNECT_REST_ADVERTISED_HOST_NAME: connect CONNECT_BOOTSTRAP_SERVERS: "kafka:9092" CONNECT_GROUP_ID: connect-group CONNECT_CONFIG_STORAGE_TOPIC: connect-config CONNECT_OFFSET_STORAGE_TOPIC: connect-offsets CONNECT_STATUS_STORAGE_TOPIC: connect-status # Cannot be higher than the number of brokers in the Kafka cluster CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1 CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1 CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1 CONNECT_KEY_CONVERTER: org.apache.kafka.connect.converters.ByteArrayConverter CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.converters.ByteArrayConverter CONNECT_PLUGIN_PATH: /app/libs # Logging # Connect client overrides CONNECT_TASK_SHUTDOWN_GRACEFUL_TIMEOUT_MS: 30000 CONNECT_OFFSET_FLUSH_INTERVAL_MS: 900000 CONNECT_CONSUMER_MAX_POLL_RECORDS: 500 connect-setup: image: custom/connect-setup:latest container_name: connect-setup build: context: . dockerfile: Dockerfile-connect-setup command: bash -c "./initialize-container.sh; tail -f /dev/null"