| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| # NB: Travis CI (dist: bionic) supports up to v3.7 |
| # (unless we'd install a more recent version in .travis.yml) |
| version: '3.7' |
| services: |
| # Backend service |
| fineractmysql: |
| image: mariadb:10.6 |
| volumes: |
| - ./fineract-db/server_collation.cnf:/etc/mysql/conf.d/server_collation.cnf |
| - ./fineract-db/docker:/docker-entrypoint-initdb.d:Z,ro |
| restart: always |
| environment: |
| MYSQL_ROOT_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca |
| healthcheck: |
| test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "--password=skdcnwauicn2ucnaecasdsajdnizucawencascdca" ] |
| timeout: 10s |
| retries: 10 |
| ports: |
| - "3306:3306" |
| fineract-server: |
| image: fineract:latest |
| volumes: |
| - ./fineract-provider/build/data:/data |
| healthcheck: |
| test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ] |
| timeout: 10s |
| retries: 10 |
| ports: |
| - 8443:8443 |
| depends_on: |
| fineractmysql: |
| condition: service_healthy |
| environment: |
| # TODO: env vars prefixed with "fineract_tenants_*" will be removed with one of the next releases |
| #- fineract_tenants_driver=org.mariadb.jdbc.Driver |
| #- fineract_tenants_url=jdbc:mariadb://fineractmysql:3306/fineract_tenants |
| #- fineract_tenants_uid=root |
| #- fineract_tenants_pwd=skdcnwauicn2ucnaecasdsajdnizucawencascdca |
| # NOTE: node aware scheduler |
| - FINERACT_NODE_ID=1 |
| # NOTE: env vars prefixed "FINERACT_HIKARI_*" are used to configure the database connection pool |
| - FINERACT_HIKARI_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver |
| - FINERACT_HIKARI_JDBC_URL=jdbc:mariadb://fineractmysql:3306/fineract_tenants |
| - FINERACT_HIKARI_USERNAME=root |
| - FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca |
| # ... following variables are optional; "application.properties" contains reasonable defaults (same as here) |
| - FINERACT_HIKARI_MINIMUM_IDLE=3 |
| - FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10 |
| - FINERACT_HIKARI_IDLE_TIMEOUT=60000 |
| - FINERACT_HIKARI_CONNECTION_TIMEOUT=20000 |
| - FINERACT_HIKARI_TEST_QUERY=SELECT 1 |
| - FINERACT_HIKARI_AUTO_COMMIT=true |
| - FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true |
| - FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250 |
| - FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048 |
| - FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true |
| - FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true |
| - FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true |
| - FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true |
| - FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true |
| - FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true |
| - FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false |
| - FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true |
| - FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true |
| # NOTE: env vars prefixed "FINERACT_DEFAULT_TENANTDB_*" are used to create the default tenant database |
| - FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractmysql |
| - FINERACT_DEFAULT_TENANTDB_PORT=3306 |
| - FINERACT_DEFAULT_TENANTDB_UID=root |
| - FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca |
| - FINERACT_DEFAULT_TENANTDB_CONN_PARAMS= |
| - FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata |
| - FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default |
| - FINERACT_DEFAULT_TENANTDB_NAME=fineract_default |
| - FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant |
| |
| # Frontend service |
| community-app: |
| image: openmf/community-app:latest |
| container_name: mifos-ui |
| restart: always |
| ports: |
| - 9090:80 |
| depends_on: |
| fineract-server: |
| condition: service_healthy |