You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by an...@apache.org on 2019/11/23 10:12:22 UTC
[fineract-cn-docker-compose] 08/48: Merge remote-tracking branch
'anh3h/master' into anh3h_master Make it work with mac
This is an automated email from the ASF dual-hosted git repository.
angeh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/fineract-cn-docker-compose.git
commit 7c2009e2d4313ede49076d551e124f533a6a18d6
Merge: 4cadf2c a5e833a
Author: Juhan Aasaru <Ju...@nortal.com>
AuthorDate: Tue Sep 10 15:42:17 2019 +0300
Merge remote-tracking branch 'anh3h/master' into anh3h_master
Make it work with mac
README.md | 7 ++-
docker-compose.yml | 120 ++++++++++++++++++++++++++++++++------
env_variables | 15 +++++
external_tools/docker-compose.yml | 6 ++
start-up.sh | 26 +++++++++
5 files changed, 154 insertions(+), 20 deletions(-)
diff --cc README.md
index c516bb1,2c38ea2..c0573e9
--- a/README.md
+++ b/README.md
@@@ -5,7 -5,10 +5,12 @@@ This project contains Docker Compose Sc
- Docker
- Docker-compose
-## Perquisites
++## Automatic or manual provisioning
++
++You can either try to provision automatically using bash script `bash start-up.sh`
++Or you could achieve the same state by manually following the instructions below:
+
-### Start-up Fineract CN microservices using bash script
- `bash start-up.sh`
+## Perquisites
### 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 --cc docker-compose.yml
index d110ee2,af2648c..21717c7
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@@ -30,7 -30,8 +30,9 @@@ services
delay: 10s
max_attempts: 3
networks:
- - external_tools_default
+ external_tools_default:
- ipv4_address: 172.16.238.6
++ fineract:
++ ipv4_address: ${PROVISIONER_IP}
identity-ms:
image: apache/fineract-cn-identity:0.0.1-M.1 # TODO replace with latest
@@@ -56,9 -57,10 +58,11 @@@
delay: 10s
max_attempts: 3
networks:
- - external_tools_default
+ external_tools_default:
- ipv4_address: 172.16.238.7
++ fineract:
++ ipv4_address: ${IDENTITY_IP}
- # TODO HAS ERRORS:
-# HAS ERRORS:
++ # TODO HAS ERRORS:
# rhythm-ms:
# image: apache/fineract-cn-rhythm:latest
# environment:
@@@ -76,7 -78,8 +80,9 @@@
# restart_policy:
# condition: on-failure
# networks:
- # - external_tools_default
-# external_tools_default:
-# ipv4_address: 172.16.238.8
++# external_tools_default:
++# fineract:
++# ipv4_address: ${RHYTHM_IP}
office-ms:
@@@ -97,7 -100,8 +103,9 @@@
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
++ fineract:
++ ipv4_address: ${OFFICE_IP}
customer-ms:
image: apache/fineract-cn-customer:latest
@@@ -115,9 -119,10 +123,11 @@@
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
++ fineract:
++ ipv4_address: ${CUSTOMER_IP}
- ledger-ms:
+ accounting-ms:
ports:
- "2025:2025"
image: apache/fineract-cn-accounting:latest
@@@ -133,7 -138,8 +143,9 @@@
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
++ fineract:
++ ipv4_address: ${ACCOUNTING_IP}
portfolio-ms:
image: apache/fineract-cn-portfolio:latest
@@@ -150,7 -156,8 +162,8 @@@
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
++ ipv4_address: ${PORTFOLIO_IP}
deposit-account-management-ms:
image: apache/fineract-cn-deposit-account-management:latest
@@@ -168,7 -175,8 +181,9 @@@
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
++ fineract:
++ ipv4_address: ${DEPOSIT_ACCOUNT_MANAGEMENT_IP}
teller-ms:
image: apache/fineract-cn-teller:latest
@@@ -186,7 -194,8 +201,9 @@@
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
++ fineract:
++ ipv4_address: ${TELLER_IP}
reporting-ms:
image: apache/fineract-cn-reporting:latest
@@@ -204,10 -213,8 +221,29 @@@
system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
networks:
- - external_tools_default
- #
- # TODO add checques-ms
- #
+ external_tools_default:
- ipv4_address: 172.16.238.15
++ fineract:
++ ipv4_address: ${REPORTING_IP}
++
++ cheques-ms:
++ image: apache/fineract-cn-reporting:latest
++ ports:
++ - "2030:2030"
++ 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:
++ fineract:
++ ipv4_address: ${CHEQUES_IP}
payroll-ms:
image: apache/fineract-cn-payroll:latest
@@@ -225,19 -232,50 +261,65 @@@
system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
networks:
- - external_tools_default
- #
- # TODO group-ms
- #
+ external_tools_default:
- ipv4_address: 172.16.238.16
++ fineract:
++ ipv4_address: ${PAYROLL_IP}
+
+ 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
++ fineract:
++ ipv4_address: ${GROUP_IP}
++
++ 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: ${NOTIFICATION_IP}
- # 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
+ fims-web-app:
+ image: aasaru/fineract-cn-fims-web-app:latest # TODO switch to apache repo
+ ports:
+ - "8888:8888"
+ networks:
- - external_tools_default
++ external_tools_default:
++ fineract:
++ ipv4_address: ${FIMS_WEB_APP_IP}
+
networks:
external_tools_default:
external:
name: external_tools_default
++ fineract:
++ driver: bridge
++ ipam:
++ config:
++ - subnet: 172.16.238.0/26
diff --cc env_variables
index 16cc9ae,16cc9ae..2613508
--- a/env_variables
+++ b/env_variables
@@@ -13,3 -13,3 +13,18 @@@ POSTGRESQL_PORT=543
POSTGRESQL_USER=postgres
RIBBON_EUREKA_SERVER=eureka:9090
SYSTEM_INITIAL_CLIENT_ID=service-runner
++FIMS_WEB_APP_IP=172.16.238.19
++PROVISIONER_IP=172.16.238.20
++IDENTITY_IP=172.16.238.21
++RHYTHM_IP=172.16.238.22
++OFFICE_IP=172.16.238.23
++CUSTOMER_IP=172.16.238.24
++ACCOUNTING_IP=172.16.238.25
++PORTFOLIO_IP=172.16.238.26
++DEPOSIT_ACCOUNT_MANAGEMENT_IP=172.16.238.27
++TELLER_IP=172.16.238.28
++REPORTING_IP=172.16.238.29
++CHEQUES_IP=172.16.238.30
++PAYROLL_IP_IP=172.16.238.31
++GROUP_IP=172.16.238.32
++NOTIFICATION_IP=172.16.238.33
diff --cc external_tools/docker-compose.yml
index 1f30a07,1f30a07..f6aec16
--- a/external_tools/docker-compose.yml
+++ b/external_tools/docker-compose.yml
@@@ -69,3 -69,3 +69,9 @@@ volumes
cassandra-volume:
postgres-volume:
++networks:
++ default:
++ driver: bridge
++ ipam:
++ config:
++ - subnet: 172.16.238.64/29
diff --cc start-up.sh
index 0000000,14a2fdf..97deace
mode 000000,100755..100755
--- a/start-up.sh
+++ b/start-up.sh
@@@ -1,0 -1,29 +1,26 @@@
+ #!/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."