version: '3.7' services: redis: image: bitnami/redis:7.2 environment: - ALLOW_EMPTY_PASSWORD=yes ports: - '6379:6379' volumes: - 'redis:/bitnami/redis/data' kafka: image: bitnami/kafka:3.6 ports: - "9092:9092" volumes: - "kafka:/bitnami" environment: - KAFKA_CFG_NODE_ID=0 - KAFKA_CFG_PROCESS_ROLES=controller,broker - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093 - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT mongodb: image: mongo:latest environment: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=example ports: - 27017:27017 volumes: - mongodb:/data/db postgresql: image: bitnami/postgresql:15 environment: - ALLOW_EMPTY_PASSWORD=yes - POSTGRESQL_USERNAME=bn_keycloak - POSTGRESQL_DATABASE=bitnami_keycloak volumes: - 'postgres:/bitnami/postgresql' keycloak: image: bitnami/keycloak:23 environment: - KEYCLOAK_HTTP_PORT=8080 - KEYCLOAK_ADMIN=admin - KEYCLOAK_ADMIN_PASSWORD=admin - KEYCLOAK_ENABLE_HTTPS=false - KEYCLOAK_PRODUCTION=false - KEYCLOAK_DATABASE_HOST=postgresql - KEYCLOAK_DATABASE_PORT=5432 depends_on: - postgresql ports: - "8080:8080" s3: image: dxflrs/garage:v0.9.1 environment: - "GARAGE_CONFIG_FILE=/config/garage.toml" ports: - "3900:3900" - "3901:3901" - "3902:3902" - "3903:3903" volumes: - ${PWD}/config:/config - s3:/s3-data volumes: mongodb: kafka: redis: postgres: s3: