I am trying to run a mifos docker container. The docker-compose.yml contains image links to the web app, the postgres database and fineract server. I don't want to use the database image: I commented the database portion in the yml file out and replace the jdbc URL to connect to the remote server along side the required credentials and database.
Anytime I run the "docker compose up" command everything goes through until I encounter a problem:
fineract-server-1 | 2024-02-23 12:11:11.250 -ERROR 1 --- [ main] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'jerseyConfig': Invocation of init method failed
I am trying to run a docker container from openMF
Details: I want to connect the mifosX server to a remote database server as shown below
version: '3.7'
services:
# Frontend service
web-app:
image: openmf/web-app:master
restart: always
environment:
- FINERACT_API_URLS=http://localhost:8443
- FINERACT_API_URL=http://localhost:8443
- FINERACT_API_PROVIDER=/fineract-provider/api
- FINERACT_API_VERSION=/v1
- FINERACT_PLATFORM_TENANT_IDENTIFIER=default
- MIFOS_DEFAULT_LANGUAGE=en-US
- MIFOS_SUPPORTED_LANGUAGES=cs-CS,de-DE,en-US,es-MX,fr-FR,it-IT,ko-KO,li-LI,lv-LV,ne-NE,pt-PT,sw-SW
- MIFOS_PRELOAD_CLIENTS=true
- MIFOS_DEFAULT_CHAR_DELIMITER=,
ports:
- 85:85
# Database service
# postgresql:
# image: postgres:16.1
# volumes:
# - ./fineract-db/docker/01-init.sh:/docker-entrypoint-initdb.d/01-init.sh:Z,ro
# restart: always
# env_file:
# - ./fineract-db/docker/postgresql.env
# healthcheck:
# test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
# timeout: 10s
# retries: 10
# ports:
# - "5432:5432"
# Backend service
fineract-server:
image: openmf/fineract:1.9.0
# image: fineract:latest
volumes:
- ./fineract-server/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:
# postgresql:
# condition: service_healthy
environment:
# 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://*theRemoteIp*:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=*username*
- FINERACT_HIKARI_PASSWORD=*password*
# ... 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=*theRemoteIp*
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=*username*
- FINERACT_DEFAULT_TENANTDB_PWD=*password*
- 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
- FINERACT_SERVER_SSL_ENABLED=false
- FINERACT_SERVER_PORT=8443
- FINERACT_LOGGING_LEVEL=INFO
NB: the parameters in ... contained actual information and that was used.