211 lines
5.2 KiB
YAML
211 lines
5.2 KiB
YAML
version: '3.8'
|
|
|
|
networks:
|
|
beckn_network:
|
|
driver: bridge
|
|
name: beckn_network
|
|
|
|
volumes:
|
|
# BAP volumes
|
|
bap_client_config_volume:
|
|
bap_client_schemas_volume:
|
|
bap_client_logs_volume:
|
|
bap_network_config_volume:
|
|
bap_network_schemas_volume:
|
|
bap_network_logs_volume:
|
|
# BPP volumes
|
|
bpp_client_config_volume:
|
|
bpp_client_schemas_volume:
|
|
bpp_client_logs_volume:
|
|
bpp_network_config_volume:
|
|
bpp_network_schemas_volume:
|
|
bpp_network_logs_volume:
|
|
# Gateway and Registry volumes
|
|
gateway_data_volume:
|
|
registry_data_volume:
|
|
|
|
services:
|
|
# ============================================
|
|
# Core Infrastructure Services
|
|
# ============================================
|
|
|
|
# Redis - Caching Service
|
|
redis:
|
|
image: redis:alpine
|
|
container_name: redis
|
|
ports:
|
|
- "6379:6379"
|
|
networks:
|
|
- beckn_network
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 5
|
|
|
|
# Vault - Key Management Service
|
|
vault:
|
|
image: hashicorp/vault:latest
|
|
container_name: vault
|
|
cap_add:
|
|
- IPC_LOCK
|
|
ports:
|
|
- "8200:8200"
|
|
environment:
|
|
VAULT_DEV_ROOT_TOKEN_ID: root
|
|
VAULT_DEV_LISTEN_ADDRESS: 0.0.0.0:8200
|
|
command: server -dev -dev-root-token-id=root
|
|
networks:
|
|
- beckn_network
|
|
healthcheck:
|
|
test: ["CMD", "vault", "status"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 5
|
|
|
|
# ============================================
|
|
# Beckn Network Services
|
|
# ============================================
|
|
|
|
# Registry - Central registry for network participants
|
|
registry:
|
|
image: fidedocker/registry:latest
|
|
container_name: registry
|
|
ports:
|
|
- "3000:3000" # Main registry port
|
|
- "3030:3030" # Admin/monitoring port
|
|
volumes:
|
|
- registry_data_volume:/usr/src/app/data
|
|
networks:
|
|
- beckn_network
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
# Gateway - Network gateway for routing
|
|
gateway:
|
|
image: fidedocker/gateway:latest
|
|
container_name: gateway
|
|
ports:
|
|
- "4000:4000" # Main gateway port
|
|
- "4030:4030" # Admin/monitoring port
|
|
volumes:
|
|
- gateway_data_volume:/usr/src/app/data
|
|
networks:
|
|
- beckn_network
|
|
depends_on:
|
|
- registry
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:4000/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
# ============================================
|
|
# BAP Services (Buyer App)
|
|
# ============================================
|
|
|
|
# BAP Client - Buyer App Client
|
|
bap-client:
|
|
image: fidedocker/protocol-server:latest
|
|
container_name: bap-client
|
|
ports:
|
|
- "5001:5001"
|
|
volumes:
|
|
- bap_client_config_volume:/usr/src/app/config
|
|
- bap_client_schemas_volume:/usr/src/app/schemas
|
|
- bap_client_logs_volume:/usr/src/app/logs
|
|
networks:
|
|
- beckn_network
|
|
depends_on:
|
|
- registry
|
|
- gateway
|
|
environment:
|
|
- NODE_ENV=development
|
|
- PORT=5001
|
|
- REGISTRY_URL=http://registry:3000
|
|
- GATEWAY_URL=http://gateway:4000
|
|
|
|
# BAP Network - Buyer App Network Layer
|
|
bap-network:
|
|
image: fidedocker/protocol-server:latest
|
|
container_name: bap-network
|
|
ports:
|
|
- "5002:5002"
|
|
volumes:
|
|
- bap_network_config_volume:/usr/src/app/config
|
|
- bap_network_schemas_volume:/usr/src/app/schemas
|
|
- bap_network_logs_volume:/usr/src/app/logs
|
|
networks:
|
|
- beckn_network
|
|
depends_on:
|
|
- registry
|
|
- gateway
|
|
- bap-client
|
|
environment:
|
|
- NODE_ENV=development
|
|
- PORT=5002
|
|
- REGISTRY_URL=http://registry:3000
|
|
- GATEWAY_URL=http://gateway:4000
|
|
|
|
# ============================================
|
|
# BPP Services (Seller App)
|
|
# ============================================
|
|
|
|
# BPP Client - Seller App Client
|
|
bpp-client:
|
|
image: fidedocker/protocol-server:latest
|
|
container_name: bpp-client
|
|
ports:
|
|
- "6001:6001"
|
|
volumes:
|
|
- bpp_client_config_volume:/usr/src/app/config
|
|
- bpp_client_schemas_volume:/usr/src/app/schemas
|
|
- bpp_client_logs_volume:/usr/src/app/logs
|
|
networks:
|
|
- beckn_network
|
|
depends_on:
|
|
- registry
|
|
- gateway
|
|
environment:
|
|
- NODE_ENV=development
|
|
- PORT=6001
|
|
- REGISTRY_URL=http://registry:3000
|
|
- GATEWAY_URL=http://gateway:4000
|
|
|
|
# BPP Network - Seller App Network Layer
|
|
bpp-network:
|
|
image: fidedocker/protocol-server:latest
|
|
container_name: bpp-network
|
|
ports:
|
|
- "6002:6002"
|
|
volumes:
|
|
- bpp_network_config_volume:/usr/src/app/config
|
|
- bpp_network_schemas_volume:/usr/src/app/schemas
|
|
- bpp_network_logs_volume:/usr/src/app/logs
|
|
networks:
|
|
- beckn_network
|
|
depends_on:
|
|
- registry
|
|
- gateway
|
|
- bpp-client
|
|
environment:
|
|
- NODE_ENV=development
|
|
- PORT=6002
|
|
- REGISTRY_URL=http://registry:3000
|
|
- GATEWAY_URL=http://gateway:4000
|
|
|
|
# Port Summary:
|
|
# - 3000: Registry (Main)
|
|
# - 3030: Registry (Admin)
|
|
# - 4000: Gateway (Main)
|
|
# - 4030: Gateway (Admin)
|
|
# - 5001: BAP Client
|
|
# - 5002: BAP Network
|
|
# - 6001: BPP Client
|
|
# - 6002: BPP Network
|
|
# - 6379: Redis
|
|
# - 8200: Vault
|
|
# - 8081: Beckn-ONIX Server (run separately) |