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