rwadurian/backend/services/blockchain-service/docker-compose.yml

83 lines
2.0 KiB
YAML

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: