# 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 fineractpostgresql: image: postgres:14.2 volumes: - ./fineract-db/docker/postgresql:/docker-entrypoint-initdb.d/:Z,ro restart: always environment: POSTGRES_USER: root POSTGRES_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca FINERACT_DB_USER: postgres FINERACT_DB_PASS: skdcnwauicn2ucnaecasdsajdnizucawencascdca FINERACT_TENANTS_DB_NAME: fineract_tenants FINERACT_TENANT_DEFAULT_DB_NAME: fineract_default healthcheck: test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ] timeout: 10s retries: 10 ports: - "5432:5432" 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: fineractpostgresql: condition: service_healthy environment: # TODO: env vars prefixed with "fineract_tenants_*" will be removed with one of the next releases #- fineract_tenants_driver=org.postgresql.Driver #- fineract_tenants_url=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants #- fineract_tenants_uid=postgres #- 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_SOURCE_CLASS_NAME=org.postgresql.Driver - FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants - FINERACT_HIKARI_USERNAME=postgres - 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=fineractpostgresql - FINERACT_DEFAULT_TENANTDB_PORT=5432 - FINERACT_DEFAULT_TENANTDB_UID=postgres - 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