version: "3.7" services: zookeeper: image: bitnami/zookeeper:3.7.0 environment: ALLOW_ANONYMOUS_LOGIN: 1 ports: - 2181:2181 container_name: reactive-zookeeper kafka: image: bitnami/kafka:2.8.0 environment: KAFKA_BROKER_ID: 1 KAFKA_CFG_LISTENERS: EXTERNAL://:9092,DOCKER://kafka:29092 KAFKA_CFG_ADVERTISED_LISTENERS: EXTERNAL://localhost:9092,DOCKER://kafka:29092 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: EXTERNAL:PLAINTEXT,DOCKER:PLAINTEXT KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181 ALLOW_PLAINTEXT_LISTENER: 1 KAFKA_INTER_BROKER_LISTENER_NAME: DOCKER ports: - 9092:9092 volumes: - ./data/kafka:/bitnami/kafka depends_on: - zookeeper container_name: reactive-kafka kafdrop: image: obsidiandynamics/kafdrop:latest environment: KAFKA_BROKERCONNECT: kafka:29092 ports: - 9000:9000 depends_on: - kafka container_name: reactive-kafdrop postgres: image: postgres:13 environment: POSTGRES_USER: username POSTGRES_PASSWORD: password POSTGRES_DB: reactive_db ports: - 5433:5432 volumes: - ./data/postgres:/var/lib/postgresql/data container_name: reactive-postgres users-service: build: ./users image: users-service command: poetry run make start-development ports: - 8001:8000 volumes: - ./users:/application depends_on: - postgres - kafka container_name: users-service profiles-service: build: ./profiles image: profiles-service command: poetry run make start-development ports: - 8002:8000 volumes: - ./profiles:/application depends_on: - postgres - kafka container_name: profiles-service