version: '3.8' services: blockchain-service: build: context: . dockerfile: Dockerfile container_name: blockchain-service ports: - "3012:3012" environment: - NODE_ENV=development - PORT=3012 - DATABASE_URL=postgresql://rwa:rwa_password@postgres:5432/rwa_blockchain?schema=public - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_DB=11 - KAFKA_BROKERS=kafka:9092 - KAFKA_CLIENT_ID=blockchain-service - KAFKA_GROUP_ID=blockchain-service-group - KAVA_RPC_URL=https://evm.kava.io - BSC_RPC_URL=https://bsc-dataseed.binance.org depends_on: - postgres - redis - kafka networks: - rwa-network restart: unless-stopped postgres: image: postgres:15-alpine container_name: blockchain-postgres environment: - POSTGRES_USER=rwa - POSTGRES_PASSWORD=rwa_password - POSTGRES_DB=rwa_blockchain volumes: - postgres-data:/var/lib/postgresql/data ports: - "5432:5432" networks: - rwa-network redis: image: redis:7-alpine container_name: blockchain-redis command: redis-server --appendonly yes volumes: - redis-data:/data ports: - "6379:6379" networks: - rwa-network kafka: image: bitnami/kafka:3.6 container_name: blockchain-kafka 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://kafka:9092 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT volumes: - kafka-data:/bitnami/kafka ports: - "9092:9092" networks: - rwa-network networks: rwa-network: driver: bridge volumes: postgres-data: redis-data: kafka-data: