How to run fineract-cn public Docker images

Running with Docker Compose

Docker-compose scripts for conveniently running a set of fineract Cloud Native micro services are available here.

There are also Postman scripts available to provision the micro services after one has started them.

Running individual images

There are public repositories in DockerHub for fineract-cn: 


Running a micro service public image

docker run apache/fineract-cn-xxx:latest

Or if you want to run specific version

docker run apache/fineract-cn-xxx:version.number.goes-here

You need to generate keys and pass them to docker images as environmental variables: https://github.com/apache/fineract-cn-docker-compose


How the Docker Hub has been set up


Autobuild has been configured to follow the same principles as already used with publishing to JFrog Artifactory - this means that one can trigger a build by pushing to branch "develop" and by creating a release (tag) in Github. The only exception is that pushing to other branches besides "develop" doesn't trigger creating image in Docker Hub.

Dockerhub autobuild configuration:

Docker Tag

SourceImage name
latestdevelop

apache/fineract-cn-projectname:latest

Previous build is overwritten.

release-{sourceref}

/^REL([0-9.]+)$/

-Without this configuration Docker Hub doesn't work. No build should actually trigger this.

{\1}-{\2}

/^([0-9.]+)-([0-9A-Za-z.]+)$/

Github version tag becomes image name. For example:

  • apache/fineract-cn-projectname:1.3.5-M.1
  • apache/fineract-cn-projectname:1.5.7-RC.1
  • apache/fineract-cn-projectname:1.5.7.1-RC.1
  • apache/fineract-cn-projectname:2.0.0-RELEASE
Tag name has to follow versioning scheme of fineract-cn projects (see README.md of each repo).

{\1}.{\2}.{\3}

/^([0-9]+)\.([0-9]+)\.([0-9]+)$/

Github version tag becomes image name. For example:

  • apache/fineract-cn-projectname:2.0.0"
Tag name has to follow versioning scheme of fineract-cn projects.


For autobuild to work the Dockerfile of each repository has been split into two stages:

  • build stage - builds the jar. Only the jar is passed to the run stage.
  • run stage - runs the jar built
  • No labels