97 lines
4.5 KiB
YAML
97 lines
4.5 KiB
YAML
# 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.
|
|
#
|
|
|
|
# You can replace and test a more recent version of docker compose
|
|
version: '3.7'
|
|
services:
|
|
# Backend service
|
|
fineractpostgresql:
|
|
image: postgres:15.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
|
|
- JAVA_TOOL_OPTIONS="-Xmx1G"
|