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:37 UTC

[fineract-cn-docker-compose] 23/48: add all possible configuration parameters to docker-compose.yml script. update readme

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 610e8c5d9509f2e89b47c1a614adefa1d766b069
Author: Juhan Aasaru <Ju...@nortal.com>
AuthorDate: Wed Oct 2 14:55:32 2019 +0300

    add all possible configuration parameters to docker-compose.yml script. update readme
---
 README.md          | 25 ++++++++++++++-----------
 docker-compose.yml | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 env_variables      |  1 +
 3 files changed, 65 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md
index 847739e..c4b3cfd 100644
--- a/README.md
+++ b/README.md
@@ -5,11 +5,13 @@ This project contains Docker Compose Scripts for running Fineract CN especially
 - Docker
 - Docker-compose
 
-## Deploy and provision Fineract CN
+# Deploy and provision Fineract CN
 
-You can either deploy and provision Fineract CN automatically using bash scripts or manually using postman.
+You can either deploy and provision Fineract CN automatically using bash scripts or manually using Postman.
+Postman is the preferred way as it is more tested and this way you understand better what is happening.
+Also this way you don't have to start all the micro services (helpful if your workstation is lacking resources).
 
-## 1. Deploy Fineract automtically using bash scripts
+# 1. Deploy and provision Fineract automtically using bash scripts
 
  - To start up all the Fineract CN services run:
 
@@ -63,14 +65,11 @@ Running all services together consumes a lot of memory. So you can start a subse
 
 For example you could start the following additional micro services and an fims-web-app:
 ```
-docker-compose up rhythm-ms identity-ms customer-ms accounting-ms deposit-ms portfolio-ms fims-web-app
+docker-compose up rhythm-ms identity-ms customer-ms accounting-ms deposit-ms portfolio-ms office-ms fims-web-app
 ```
 
 If you want you can add other micro services (listed in docker-compose.yml) to the list.
 
-
-# Provision
-
 ## Provisioning the Micro Services Using Postman
 
 We provide a postman-request-collection as well as a postman-environment that defines variables that are used to hold values received in responses.
@@ -116,7 +115,7 @@ docker-compose logs provisioner-ms
 2. Reach out to [mailing list](https://lists.apache.org/list.html?dev@fineract.apache.org) with the relevant details
 
 
-### Sign-in using fims-web-app
+# Sign-in using fims-web-app
 
 Prerequisites: Fineract-CN has been successfully provisioned by following the instructions in the previous sections
 User ```mifos``` is created in the the last two requests (user creation and role assignment) in the postman request-list.
@@ -133,7 +132,7 @@ password: password
 ```
 
 ### Use the Postman scripts when running locally
-Postman scripts use service names (postgres, provisioner-ms, etc) when refering to different services.
+Postman scripts use service names (postgres, provisioner-ms, etc) when referring to different services.
 If you want to use the same Postman scripts when running micro services locally then add into your hosts (/etc/hosts in Unix) file:
 
 ```
@@ -159,6 +158,8 @@ If you want to use the same Postman scripts when running micro services locally
 
 ### How to reset everything and start from scratch
 
+Run ./shut-down-and-reset.sh or
+
 ```
 cd external-tools
 docker-compose stop
@@ -168,10 +169,12 @@ docker volume rm external_tools_postgres-volume
 docker-compose up
 ```
 
+### Automating Postman scripts
+
+You can use [Newman](https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/) to run Postman scripts from command line.
 
-## TODO
 
-- Provision the web services using a script
+## TODO
 - Adjust scripts for Kubernetes
 
 There are some scripts in [https://github.com/openMF/fineract-cn-containers](https://github.com/openMF/fineract-cn-containers)
diff --git a/docker-compose.yml b/docker-compose.yml
index a1e4bb5..cb72194 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -16,6 +16,8 @@ services:
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2020
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.initialclientid: ${SYSTEM_INITIAL_CLIENT_ID}
       system.privateKey.exponent: ${PRIVATE_KEY_EXPONENT}
@@ -39,6 +41,10 @@ services:
     ports:
       - "2021:2021"
     environment:
+      bonecp.partitionCount: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.acquireIncrement: 1
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
       cassandra.cluster.pwd: ${CASSANDRA_CLUSTER_PASSWORD}
       cassandra.cluster.user: ${CASSANDRA_CLUSTER_USER}
@@ -46,8 +52,11 @@ services:
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      identity.token.refresh.secureCookie: "false" # demoserver
       postgresql.host: ${POSTGRESQL_HOST}
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2021
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -69,15 +78,19 @@ services:
       - "2022:2022"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      rhythm.beatCheckRate: 600000
+      rhythm.user: ${SCHEDULER_USER_NAME}
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2022
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-      rhythm.beatCheckRate: 600000
     deploy:
       replicas: 1
       restart_policy:
@@ -85,7 +98,7 @@ services:
     networks:
       external_tools_default:
       fineract:
-          ipv4_address: ${RHYTHM_IP}
+        ipv4_address: ${RHYTHM_IP}
 
   office-ms:
     image: apache/fineract-cn-office:latest
@@ -93,11 +106,14 @@ services:
       - "2023:2023"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2023
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -115,12 +131,16 @@ services:
       - "2024:2024"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2024
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      system.initialclientid: ${SYSTEM_INITIAL_CLIENT_ID}
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -135,11 +155,14 @@ services:
     image: apache/fineract-cn-accounting:latest
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2025
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -155,6 +178,7 @@ services:
       - "2026:2026"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
@@ -162,6 +186,8 @@ services:
       custom.postgresql.user: ${POSTGRESQL_USER}
       postgresql.host: ${POSTGRESQL_HOST}
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2026
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -177,11 +203,14 @@ services:
       - "2027:2027"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2027
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -197,11 +226,14 @@ services:
       - "2028:2028"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2028
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -217,11 +249,14 @@ services:
       - "2029:2029"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2029
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -237,11 +272,14 @@ services:
       - "2030:2030"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2030
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -257,11 +295,14 @@ services:
       - "2031:2031"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2031
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -277,11 +318,14 @@ services:
       - "2032:2032"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2032
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
@@ -294,14 +338,17 @@ services:
   notifications-ms:
     image: apache/fineract-cn-notifications:latest
     ports:
-     - "2033:2033"
+      - "2033:2033"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       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}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2033
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
diff --git a/env_variables b/env_variables
index 12b167a..b17564f 100644
--- a/env_variables
+++ b/env_variables
@@ -13,6 +13,7 @@ POSTGRESQL_PORT=5432
 POSTGRESQL_USER=postgres
 RIBBON_EUREKA_SERVER=eureka:9090
 SYSTEM_INITIAL_CLIENT_ID=service-runner
+SCHEDULER_USER_NAME=imhotep
 FIMS_WEB_APP_IP=172.16.238.19
 PROVISIONER_IP=172.16.238.20
 IDENTITY_IP=172.16.238.21