You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ju...@apache.org on 2019/11/20 06:57:39 UTC

[fineract-cn-docker-compose] 07/41: Add Fineract CN start-up script

This is an automated email from the ASF dual-hosted git repository.

juhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/fineract-cn-docker-compose.git

commit a5e833a9568d497f3c0b77e03d0038b995d65dc3
Author: Anh3h <co...@gmail.com>
AuthorDate: Thu Sep 5 21:23:12 2019 -0400

    Add Fineract CN start-up script
---
 .gitignore                                   |   1 +
 README.md                                    |   5 +-
 docker-compose.yml                           |  73 +++++++++++++++++++++++----
 external_tools/lang-0.1.0-BUILD-SNAPSHOT.jar | Bin 65395 -> 0 bytes
 start-up.sh                                  |  29 +++++++++++
 5 files changed, 96 insertions(+), 12 deletions(-)

diff --git a/.gitignore b/.gitignore
index 4c49bd7..d028ce2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 .env
+*.jar
\ No newline at end of file
diff --git a/README.md b/README.md
index d212b5c..2c38ea2 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 # Fineract CN Docker-Compose scripts
-This project contains Docker Compose Scripts for running Fineract CN especially in Development.	
+This project contains Docker Compose Scripts for running Fineract CN especially in Development.
 
 ## Requirements
 - Docker
@@ -7,6 +7,9 @@ This project contains Docker Compose Scripts for running Fineract CN especially
 
 ## Perquisites
 
+### Start-up Fineract CN microservices using bash script
+ `bash start-up.sh`
+
 ### Generate .env file with RSA keys
 `java -cp external_tools/lang-0.1.0-BUILD-SNAPSHOT.jar  org.apache.fineract.cn.lang.security.RsaKeyPairFactory UNIX > .env`
 
diff --git a/docker-compose.yml b/docker-compose.yml
index 7ae1011..af2648c 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -30,7 +30,8 @@ services:
         delay: 10s
         max_attempts: 3
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.6
 
   identity-ms:
     image: apache/fineract-cn-identity:0.0.1-M.1 # TODO replace with latest
@@ -56,7 +57,8 @@ services:
         delay: 10s
         max_attempts: 3
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.7
 
 # HAS ERRORS:
 #  rhythm-ms:
@@ -76,7 +78,8 @@ services:
 #      restart_policy:
 #        condition: on-failure
 #    networks:
-#      - external_tools_default
+#        external_tools_default:
+#          ipv4_address: 172.16.238.8
 
 
   office-ms:
@@ -97,7 +100,8 @@ services:
       system.privateKey.exponent: ${PRIVATE_KEY_EXPONENT}
       system.privateKey.modulus: ${PRIVATE_KEY_MODULUS}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.9
 
   customer-ms:
     image: apache/fineract-cn-customer:latest
@@ -115,7 +119,8 @@ services:
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.10
 
   ledger-ms:
     ports:
@@ -133,7 +138,8 @@ services:
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.11
 
   portfolio-ms:
     image: apache/fineract-cn-portfolio:latest
@@ -150,7 +156,8 @@ services:
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.12
 
   deposit-account-management-ms:
     image: apache/fineract-cn-deposit-account-management:latest
@@ -168,7 +175,8 @@ services:
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.13
 
   teller-ms:
     image: apache/fineract-cn-teller:latest
@@ -186,7 +194,8 @@ services:
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.14
 
   reporting-ms:
     image: apache/fineract-cn-reporting:latest
@@ -204,7 +213,8 @@ services:
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.15
 
   payroll-ms:
     image: apache/fineract-cn-payroll:latest
@@ -222,7 +232,48 @@ services:
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     networks:
-      - external_tools_default
+      external_tools_default:
+        ipv4_address: 172.16.238.16
+
+  group-ms:
+    image: apache/fineract-cn-group:latest
+    ports:
+      - "2032:2032"
+    environment:
+      activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
+      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
+      system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
+      system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
+    networks:
+      external_tools_default:
+        ipv4_address: 172.16.238.17
+
+  # Docker image is not yet available
+  # notification-ms:
+  #     image: apache/fineract-cn-notification:latest
+  #     ports:
+  #       - "2033:2033"
+  #     environment:
+  #       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+  #       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+  #       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
+  #       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+  #       postgresql.host: ${POSTGRESQL_HOST}
+  #       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+  #       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+  #       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
+  #       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
+  #       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
+  #     networks:
+  #       external_tools_default:
+  #         ipv4_address: 172.16.238.18
+
 
 networks:
   external_tools_default:
diff --git a/external_tools/lang-0.1.0-BUILD-SNAPSHOT.jar b/external_tools/lang-0.1.0-BUILD-SNAPSHOT.jar
deleted file mode 100644
index 42251a5..0000000
Binary files a/external_tools/lang-0.1.0-BUILD-SNAPSHOT.jar and /dev/null differ
diff --git a/start-up.sh b/start-up.sh
new file mode 100755
index 0000000..14a2fdf
--- /dev/null
+++ b/start-up.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+set -e
+
+echo "Createing docker service network"
+docker network create --driver=bridge --subnet=172.16.238.0/24 external_tools_default
+
+cd external_tools/
+docker-compose up -d
+cassandra_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cassandra)
+postgres_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' postgres)
+
+# #Test Cassandra and Postgres
+echo "Waiting for Cassandra and Postgres ..."
+while ! nc -z "${cassandra_ip}" 9042 ; do
+  sleep 1
+done
+while ! nc -z "${postgres_ip}" 5432 ; do
+  sleep 1
+done
+echo "Cassandra and Postgres are up and running..."
+cd ..
+
+echo "Starting up Fineract CN microservices..."
+wget https://mifos.jfrog.io/mifos/libs-snapshot-local/org/apache/fineract/cn/lang/0.1.0-BUILD-SNAPSHOT/lang-0.1.0-BUILD-SNAPSHOT.jar
+java -cp lang-0.1.0-BUILD-SNAPSHOT.jar org.apache.fineract.cn.lang.security.RsaKeyPairFactory UNIX > .env
+cat env_variables >> .env
+
+docker-compose up -d
+echo "Successfully started fineract services."