diff --git a/install/beckn-onix.sh b/install/beckn-onix.sh index 0fb5812..e70ea42 100755 --- a/install/beckn-onix.sh +++ b/install/beckn-onix.sh @@ -76,7 +76,7 @@ install_gateway() { bash scripts/update_gateway_details.sh registry fi echo "${GREEN}................Installing Gateway service................${NC}" - start_container "docker-compose-gateway.yml" gateway + start_container $gateway_docker_compose_file gateway echo "Registering Gateway in the registry" sleep 10 @@ -98,7 +98,7 @@ install_registry(){ fi echo "${GREEN}................Installing Registry service................${NC}" - start_container "docker-compose-registry.yml" registry + start_container $registry_docker_compose_file registry sleep 10 echo "Registry installation successful" } @@ -124,8 +124,8 @@ install_bap_protocol_server(){ docker run --rm -v $SCRIPT_DIR/../protocol-server-data:/source -v bap_network_config_volume:/target busybox cp /source/bap-network.yaml-sample /target docker rmi busybox - start_container "docker-compose-bap.yml" "bap-client" - start_container "docker-compose-bap.yml" "bap-network" + start_container $bap_docker_compose_file "bap-client" + start_container $bap_docker_compose_file "bap-network" sleep 10 echo "Protocol server BAP installation successful" } @@ -156,8 +156,8 @@ install_bpp_protocol_server(){ docker run --rm -v $SCRIPT_DIR/../protocol-server-data:/source -v bpp_network_config_volume:/target busybox cp /source/bpp-network.yaml-sample /target docker rmi busybox - start_container "docker-compose-bpp.yml" "bpp-client" - start_container "docker-compose-bpp.yml" "bpp-network" + start_container $bpp_docker_compose_file "bpp-client" + start_container $bpp_docker_compose_file "bpp-network" sleep 10 echo "Protocol server BPP installation successful" } diff --git a/install/docker-compose-bpp-with-sandbox.yml b/install/docker-compose-bpp-with-sandbox.yml new file mode 100644 index 0000000..43ffea5 --- /dev/null +++ b/install/docker-compose-bpp-with-sandbox.yml @@ -0,0 +1,70 @@ +services: + bpp-client: + image: fidedocker/protocol-server + container_name: bpp-client + networks: + - beckn_network + ports: + - 6001:6001 + restart: unless-stopped + 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 + + bpp-network: + image: fidedocker/protocol-server + container_name: bpp-network + networks: + - beckn_network + ports: + - 6002:6002 + restart: unless-stopped + 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 + + + sandbox-api: + image: fidedocker/sandbox-api + container_name: sandbox-api + networks: + - beckn_network + ports: + - 4010:4000 + restart: unless-stopped + + sandbox-webhook: + image: fidedocker/sandbox-webhook-api + depends_on: + - sandbox-api + container_name: sandbox-webhook + networks: + - beckn_network + ports: + - 3005:3005 + restart: unless-stopped + volumes: + - ./ENV/.env-webhook:/usr/src/app/.env + +networks: + beckn_network: + name: beckn_network + driver: bridge + +volumes: + bpp_client_config_volume: + name: bpp_client_config_volume + external: true + bpp_client_schemas_volume: + name: bpp_client_schemas_volume + bpp_client_logs_volume: + name: bpp_client_logs_volume + bpp_network_config_volume: + name: bpp_network_config_volume + external: true + bpp_network_schemas_volume: + name: bpp_network_schemas_volume + bpp_network_logs_volume: + name: bpp_network_logs_volume diff --git a/install/docker-compose-gcl.yml b/install/docker-compose-gcl.yml new file mode 100644 index 0000000..b73857b --- /dev/null +++ b/install/docker-compose-gcl.yml @@ -0,0 +1,122 @@ +services: + registry: + image: fidedocker/registry + container_name: registry + networks: + - beckn_network + ports: + - 3000:3000 + - 3030:3030 + restart: unless-stopped + volumes: + - registry_data_volume:/registry/overrideProperties/config + - registry_database_volume:/registry/database + + gateway: + image: fidedocker/gateway + container_name: gateway + networks: + - beckn_network + ports: + - 4000:4000 + - 4030:4030 + restart: unless-stopped + volumes: + - gateway_data_volume:/gateway/overrideProperties/config + - gateway_database_volume:/gateway/database + + bap-client: + image: fidedocker/protocol-server + container_name: bap-client + networks: + - beckn_network + ports: + - 5001:5001 + restart: unless-stopped + volumes: + - ./protocol-server-data/bap-client.yml:/usr/src/app/config/default.yml + + bap-network: + image: fidedocker/protocol-server + container_name: bap-network + networks: + - beckn_network + ports: + - 5002:5002 + restart: unless-stopped + volumes: + - ./protocol-server-data/bap-network.yml:/usr/src/app/config/default.yml + + sandbox-api: + image: fidedocker/sandbox-api + container_name: sandbox-api + networks: + - beckn_network + ports: + - 4010:4000 + restart: unless-stopped + + sandbox-webhook: + image: fidedocker/sandbox-webhook-api + depends_on: + - sandbox-api + container_name: sandbox-webhook + networks: + - beckn_network + ports: + - 3005:3005 + restart: unless-stopped + volumes: + - ./ENV/.env-webhook:/usr/src/app/.env + + bpp-client: + image: fidedocker/protocol-server + container_name: bpp-client + networks: + - beckn_network + ports: + - 6001:6001 + restart: unless-stopped + volumes: + - ./protocol-server-data/bpp-client.yml:/usr/src/app/config/default.yml + + bpp-network: + image: fidedocker/protocol-server + container_name: bpp-network + networks: + - beckn_network + ports: + - 6002:6002 + restart: unless-stopped + volumes: + - ./protocol-server-data/bpp-network.yml:/usr/src/app/config/default.yml + + generic-client-layer: + image: fidedocker/generic-client-layer + container_name: generic-client-layer + networks: + - beckn_network + ports: + - 3015:3000 + restart: unless-stopped + volumes: + - ./ENV/.env-generic-client-layer:/app/.env + +networks: + beckn_network: + name: beckn_network + driver: bridge + +volumes: + registry_data_volume: + name: registry_data_volume + external: true + registry_database_volume: + name: registry_database_volume + external: true + gateway_data_volume: + name: gateway_data_volume + external: true + gateway_database_volume: + name: gateway_database_volume + external: true diff --git a/install/scripts/variables.sh b/install/scripts/variables.sh index 94e1f64..a753efe 100755 --- a/install/scripts/variables.sh +++ b/install/scripts/variables.sh @@ -51,3 +51,10 @@ bpp_subscriber_id="bpp-network" bpp_subscriber_key_id="bpp-network-key" bpp_subscriber_url="http://bpp-network:6002" webhook_url="http://sandbox-webhook:3005" + +bpp_docker_compose_file=docker-compose-bpp.yml +bpp_docker_compose_file_sandbox=docker-compose-bpp-with-sandbox.yml +bap_docker_compose_file=docker-compose-bap.yml +registry_docker_compose_file=docker-compose-registry.yml +gateway_docker_compose_file=docker-compose-gateway.yml +gcl_docker_compose_file=docker-compose-gcl.yml \ No newline at end of file diff --git a/install/start_beckn.sh b/install/start_beckn.sh index 213f960..af9b676 100755 --- a/install/start_beckn.sh +++ b/install/start_beckn.sh @@ -12,15 +12,15 @@ start_container(){ #below function will start the MongoDB, Redis and RabbitMQ Services. start_support_services(){ echo "${GREEN}................Installing MongoDB................${NC}" - docker-compose -f docker-compose-app.yml up -d mongo_db + docker compose -f docker-compose-app.yml up -d mongo_db echo "MongoDB installation successful" echo "${GREEN}................Installing RabbitMQ................${NC}" - docker-compose -f docker-compose-app.yml up -d queue_service + docker compose -f docker-compose-app.yml up -d queue_service echo "RabbitMQ installation successful" echo "${GREEN}................Installing Redis................${NC}" - docker-compose -f docker-compose-app.yml up -d redis_db + docker compose -f docker-compose-app.yml up -d redis_db echo "Redis installation successful" } # Main script starts here diff --git a/install/start_beckn_v2.sh b/install/start_beckn_v2.sh index d91c377..3404cb4 100755 --- a/install/start_beckn_v2.sh +++ b/install/start_beckn_v2.sh @@ -12,7 +12,7 @@ install_package(){ start_container(){ #ignore orphaned containers warning export COMPOSE_IGNORE_ORPHANS=1 - docker-compose -f docker-compose-v2.yml up -d $1 + docker compose -f $1 up -d $2 } update_registry_details() { @@ -54,15 +54,15 @@ start_support_services(){ #ignore orphaned containers warning export COMPOSE_IGNORE_ORPHANS=1 echo "${GREEN}................Installing MongoDB................${NC}" - docker-compose -f docker-compose-app.yml up -d mongo_db + docker compose -f docker-compose-app.yml up -d mongo_db echo "MongoDB installation successful" echo "${GREEN}................Installing RabbitMQ................${NC}" - docker-compose -f docker-compose-app.yml up -d queue_service + docker compose -f docker-compose-app.yml up -d queue_service echo "RabbitMQ installation successful" echo "${GREEN}................Installing Redis................${NC}" - docker-compose -f docker-compose-app.yml up -d redis_db + docker compose -f docker-compose-app.yml up -d redis_db echo "Redis installation successful" } @@ -73,7 +73,7 @@ install_gateway() { bash scripts/update_gateway_details.sh registry fi echo "${GREEN}................Installing Gateway service................${NC}" - start_container gateway + start_container $gateway_docker_compose_file gateway echo "Registering Gateway in the registry" sleep 10 @@ -95,7 +95,7 @@ install_registry(){ fi echo "${GREEN}................Installing Registry service................${NC}" - start_container registry + start_container $registry_docker_compose_file registry sleep 10 echo "Registry installation successful" } @@ -113,8 +113,8 @@ install_bap_protocol_server(){ bash scripts/update_bap_config.sh fi sleep 10 - start_container "bap-client" - start_container "bap-network" + start_container $bap_docker_compose_file "bap-client" + start_container $bap_docker_compose_file "bap-network" sleep 10 echo "Protocol server BAP installation successful" } @@ -123,12 +123,12 @@ install_bap_protocol_server(){ install_bpp_protocol_server_with_sandbox(){ start_support_services echo "${GREEN}................Installing Sandbox................${NC}" - start_container "sandbox-api" + start_container $bpp_docker_compose_file_sandbox "sandbox-api" sleep 5 echo "Sandbox installation successful" echo "${GREEN}................Installing Webhook................${NC}" - start_container "sandbox-webhook" + start_container $bpp_docker_compose_file_sandbox "sandbox-webhook" sleep echo "Webhook installation successful" @@ -139,14 +139,15 @@ install_bpp_protocol_server_with_sandbox(){ bpp_subscriber_id=$2 bpp_subscriber_key_id=$3 bpp_subscriber_url=$4 - bash scripts/update_bpp_config.sh $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url + webhook_url=$5 + bash scripts/update_bpp_config.sh $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url $webhook_url else bash scripts/update_bpp_config.sh fi sleep 10 - start_container "bpp-client" - start_container "bpp-network" + start_container $bpp_docker_compose_file_sandbox "bpp-client" + start_container $bpp_docker_compose_file_sandbox "bpp-network" sleep 10 echo "Protocol server BPP installation successful" } @@ -168,8 +169,8 @@ install_bpp_protocol_server(){ fi sleep 10 - start_container "bpp-client" - start_container "bpp-network" + start_container $bpp_docker_compose_file "bpp-client" + start_container $bpp_docker_compose_file "bpp-network" sleep 10 echo "Protocol server BPP installation successful" } @@ -276,12 +277,13 @@ else 4) read -p "Enter BPP Subscriber ID: " bpp_subscriber_id read -p "Enter BPP Subscriber URL: " bpp_subscriber_url + read -p "Enter Webhook URL: " webhook_url # Ask the user if they want to change the registry_url read -p "Do you want to change the registry_url? (${GREEN}Press Enter to accept default: $beckn_registry_url${NC}): " custom_registry_url registry_url=${custom_registry_url:-$beckn_registry_url} bpp_subscriber_key_id=$bpp_subscriber_id-key install_package - install_bpp_protocol_server_with_sandbox $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url + install_bpp_protocol_server_with_sandbox $registry_url $bpp_subscriber_id $bpp_subscriber_key_id $bpp_subscriber_url $webhook_url ;; 5) read -p "Enter BPP Subscriber ID: " bpp_subscriber_id @@ -302,7 +304,7 @@ else read -p "Enter BAP Subscriber URL: " bap_subscriber_url read -p "Enter BAP Client URL: " bap_client_url bash scripts/generic-client-layer.sh $bap_subscriber_id $bap_subscriber_url $bap_client_url - start_container "generic-client-layer" + start_container $gcl_docker_compose_file "generic-client-layer" ;; 7)