qm 0.0.60

Utilities for quick microservices in Rust
Documentation
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: