compose.yml (1907B)
1 services: 2 zookeeper: 3 image: confluentinc/cp-zookeeper 4 hostname: zookeeper 5 container_name: zookeeper 6 ports: 7 - "2181:2181" 8 environment: 9 ZOOKEEPER_CLIENT_PORT: 2181 10 ZOOKEEPER_SERVER_ID: 1 11 ZOOKEEPER_SERVERS: zookeeper:2888:3888 12 attach: false 13 14 kafka: 15 image: confluentinc/cp-kafka 16 hostname: kafka 17 container_name: kafka 18 ports: 19 - "9092:9092" 20 environment: 21 KAFKA_ADVERTISED_LISTENERS: "INTERNAL://kafka:29092,EXTERNAL://localhost:9092" 22 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT 23 KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL 24 KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181" 25 KAFKA_BROKER_ID: 1 26 KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO" 27 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 28 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 29 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 30 KAFKA_JMX_PORT: 9999 31 KAFKA_JMX_HOSTNAME: ${DOCKER_HOST_IP:-127.0.0.1} 32 KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer 33 KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true" 34 KAFKA_MESSAGE_MAX_BYTES: 26214400 35 attach: false 36 depends_on: 37 - zookeeper 38 39 voice_to_text: 40 build: ./transcribe 41 container_name: transcriber 42 env_file: 43 - "kafka.env" 44 - "openai.env" 45 depends_on: 46 - kafka 47 stop_signal: SIGINT 48 restart: always 49 50 text_to_summary: 51 build: ./summarize 52 container_name: summarizer 53 env_file: 54 - "kafka.env" 55 - "openai.env" 56 depends_on: 57 - kafka 58 stop_signal: SIGINT 59 restart: always 60 61 frontend: 62 build: . 63 container_name: frontend 64 env_file: 65 - "kafka.env" 66 ports: 67 - "8000:8000" 68 depends_on: 69 - kafka 70 - voice_to_text 71 - text_to_summary 72 restart: always