version: "3.7" services: kafka_producer_php: build: context: . dockerfile: ./docker/php/production/Dockerfile volumes: - ./:/var/www/ working_dir: /var/www/html/public environment: DB_CONNECTION: mysql DB_HOST: kafka_producer_mysql_db DB_PORT: 3307 KAFKA_BROKERS: kafka:9092 networks: - default - proxynet kafka_producer_nginx: image: anamhossain/php-nginx:latest environment: NGINX_ROOT: "/var/www/public" NGINX_FPM_HOST: kafka_producer_php ports: - 8787:80 depends_on: - kafka_producer_php networks: - default - proxynet kafka_producer_mysql_db: image: mysql:5 restart: always environment: MYSQL_DATABASE: laravel MYSQL_ROOT_PASSWORD: E8UQxEFic MYSQL_USER: laravel MYSQL_PASSWORD: laravel ports: - "3306" volumes: - "./storage/db-data:/var/lib/mysql" zookeper: image: confluentinc/cp-zookeeper:latest ports: - "2181" environment: - ZOOKEEPER_CLIENT_PORT=2181 volumes: - "./storage/zookeeper/data:/var/lib/zookeeper/data" - "./storage/zookeeper/log:/var/lib/zookeeper/log" - "./storage/zookeeper/secrets:/var/lib/zookeeper/secrets" networks: - default - proxynet kafka: image: confluentinc/cp-kafka:latest environment: - KAFKA_ZOOKEEPER_CONNECT=zookeper:2181 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 depends_on: - zookeper volumes: - "./storage/kafka/data:/var/lib/kafka/data" - "./storage/kafka/secrets:/var/lib/kafka/secrets" networks: - default - proxynet networks: proxynet: name: pub_sub_network external: true