version: "3" services: web: build: . container_name: esrs_web volumes: - .:/code - "app:/home/app/" - "~/.ssh:/home/app/.ssh" - "~/.aws:/home/app/.aws" - "~/.gitconfig:/home/app/.gitconfig" - "~/.gitignore:/home/app/.gitignore" working_dir: /code depends_on: - postgres - rabbit - zookeeper - kafka environment: BUILD_ENV: dev CARGO_HOME: /home/app/.cargo CARGO_TARGET_DIR: /home/app/target CARGO_MAKE_DISABLE_UPDATE_CHECK: 1 networks: - default postgres: image: public.ecr.aws/bitnami/postgresql:11 ports: - "5432:5432" environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres rabbit: image: rabbitmq:3.7.4-management ports: - "15676:15672" - "5676:5672" environment: RABBITMQ_DEFAULT_VHOST: rabbit RABBITMQ_DEFAULT_USER: rabbit RABBITMQ_DEFAULT_PASS: rabbit zookeeper: container_name: zookeeper image: public.ecr.aws/primaassicurazioni/confluentinc/cp-zookeeper:7.3.0 environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 KAFKA_OPTS: "-Dzookeeper.4lw.commands.whitelist=ruok" ports: - "2181:2181" healthcheck: test: "[ $$(echo ruok | nc localhost 2181 ) == imok ]" interval: 1s timeout: 10s retries: 100 kafka: container_name: kafka image: public.ecr.aws/prima/kafka:7.3.0-1 depends_on: zookeeper: condition: service_healthy ports: - "9092:9092" - "9997:9997" - "29092:29092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT_HOST://host.docker.internal:29092, PLAINTEXT://kafka:9092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_CONFLUENT_REPORTERS_TELEMETRY_AUTO_ENABLE: "false" # KAFKA_SCHEMA_REGISTRY_URL: "schema-registry:8085" KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_DEFAULT_REPLICATION_FACTOR: 1 KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR: 1 healthcheck: test: [ "CMD", "kafka-topics", "--bootstrap-server", "kafka:9092", "--list" ] interval: 1s timeout: 10s retries: 100 volumes: app: