You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve quick start instructions. Build on changes from c71966c, including:
* add required env vars
* consolidate redundant instructions
* consistently deprecate MySQL and MariaDB
* minor grammar/spacing fixes
* fix postgres version number in testing docs
No code changes.
We can simplify this further by changing runtime defaults.
I tested on Linux (64-bit Ubuntu 24.04.4 LTS) only.
Might work on macos as well.
Conspicuously missing: Windows-compatible quick start instructions.
Copy file name to clipboardExpand all lines: README.md
+54-45Lines changed: 54 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Apache Fineract
2
2
3
3
<!-- TODO Reactivate when there is a working CI-CD instance: [](https://validator.swagger.io/validator/debug?url=https://sandbox.mifos.community/fineract-provider/swagger-ui/fineract.yaml) -->
@@ -29,11 +29,11 @@ In the moment you get started writing code, please consult our [CONTRIBUTING](CO
29
29
30
30
REQUIREMENTS
31
31
============
32
-
*min. 16GB RAM and 8 core CPU
33
-
*`MariaDB >= 12.2` or `PostgreSQL >= 18.0`
34
-
*`Java >= 21` (Azul Zulu JVM is tested by our CI on GitHub Actions)
32
+
* 16GB RAM and 8 core CPU (minimum hardware for running Fineract -- development and testing may require more)
33
+
*PostgreSQL >= 18.0 ([support for other backend databases is deprecated](https://cwiki.apache.org/confluence/display/FINERACT/FSIP-9%3A+Standardize+on+PostgreSQL))
34
+
* Java >= 21 (Azul Zulu JVM is tested by our CI on GitHub Actions)
35
35
36
-
Tomcat (min. v10) is only required, if you wish to deploy the Fineract WAR to a separate external servlet container. You do not need to install Tomcat to run Fineract. We recommend the use of the self-contained JAR, which transparently embeds a servlet container using Spring Boot.
36
+
Tomcat (min. v10) is only needed if you wish to deploy the Fineract WAR to a separate external servlet container. You do not need to install Tomcat to run Fineract. We recommend the use of the self-contained JAR, which transparently embeds a servlet container using Spring Boot.
37
37
38
38
39
39
SECURITY
@@ -48,74 +48,73 @@ For details about security during development and deployment, see the documentat
48
48
INSTRUCTIONS
49
49
============
50
50
51
-
The following how-to's assume you have Java installed, you cloned the repository (or downloaded and extracted a [specific version](https://github.com/apache/fineract/releases)) and you have a [database server](#database-and-tables) (MariaDB or PostgreSQL) running.
52
-
53
51
Quick Start
54
52
---
55
53
56
-
This section provides a simplified overview of the setup process. More detailed instructions are available below.
57
-
58
-
Follow these steps to quickly set up and run Apache Fineract locally:
54
+
Follow these steps to quickly set up and run Apache Fineract locally.
59
55
60
56
### Prerequisites
61
-
- Java 21 or higher
62
-
- PostgreSQL running locally
63
57
64
-
### Clone the repository
58
+
- Java 21 or higher (Azul Zulu is recommended)
59
+
- PostgreSQL running locally, listening on port 5432 with proper permissions (see [below](#database-and-tables) for how to run PostgreSQL in Docker)
60
+
65
61
```bash
62
+
# get code
66
63
git clone https://github.com/apache/fineract.git
67
64
cd fineract
68
-
```
69
65
70
-
### Database setup (PostgreSQL)
71
-
72
-
```bash
66
+
# create dbs
73
67
./gradlew createPGDB -PdbName=fineract_tenants
74
68
./gradlew createPGDB -PdbName=fineract_default
75
-
```
76
69
77
-
> Note: This task requires PostgreSQL running on localhost:5432 with a user allowed to create databases (default in this project/CI: root / postgres)
Running Fineract to try it out is relatively easy. If you intend to use it in a production environment, be aware that a proper deployment can be complex, costly, and time-consuming. Considerations include: Security, privacy, compliance, performance, service availability, backups, and more. The Fineract project does not provide a comprehensive guide for deploying Fineract in production. You might need skills in enterprise Java applications and more. Alternatively, you could pay a vendor for Fineract deployment and maintenance. You will find tips and tricks for deploying and securing Fineract in our official documentation and in the community-maintained wiki.
117
+
Running Fineract _just to try it out_ is relatively easy. If you intend to use it _in a production environment_, be aware that a proper deployment can be complex, costly, and time-consuming. Considerations include: Security, privacy, compliance, performance, service availability, backups, and more. **The Fineract project does not provide a comprehensive guide for deploying Fineract in production.** You might need skills in enterprise Java applications and more. Alternatively, you could pay a vendor for Fineract deployment and maintenance. You will find tips and tricks for [deploying](https://fineract.apache.org/docs/current/#_deployment) and [securing](https://fineract.apache.org/docs/current/#_securing_fineract) Fineract in our official documentation.
119
118
120
119
121
120
How to build the JAR file
@@ -125,7 +124,7 @@ Build a modern, cloud native, fully self contained JAR file:
125
124
./gradlew clean bootJar
126
125
```
127
126
The JAR will be created in the `fineract-provider/build/libs` directory.
128
-
As we are not allowed to include a JDBC driver in the built JAR, download a JDBC driver of your choice. For example:
127
+
If you use a MariaDB or MySQL (note: both are deprecated), you must download the appropriate JDBC driver since drivers for those databases use incompatible licenses. For example:
@@ -305,10 +304,10 @@ In case of a large deployment with millions of accounts, the Close of Business D
305
304
JMS based messaging is disabled by default. In `docker-compose-postgresql-activemq.yml` an example is shown, where ActiveMQ is enabled. In that configuration one Spring Batch Manager instance and two Spring Batch Worker instances are created.
306
305
Spring based events should be disabled and jms based event handling should be enabled. Furthermore, proper broker JMS URL should be configured.
For additional ActiveMQ related configuration please take a look to the `application.properties` where the supported configuration parameters are listed with their default values.
@@ -328,11 +327,21 @@ DATABASE AND TABLES
328
327
329
328
You can run the required version of the database server in a container, instead of having to install it, like this:
Beware that this container database keeps its state inside the container and not on the host filesystem. It is lost when you destroy (rm) this container. This is typically fine for development. See [Caveats: Where to Store Data on the database container documentation](https://hub.docker.com/_/mariadb) regarding how to make it persistent instead of ephemeral.
Copy file name to clipboardExpand all lines: fineract-doc/src/docs/en/chapters/architecture/persistence.adoc
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,9 @@ TBD
4
4
5
5
== Database support
6
6
7
-
Fineract supports multiple databases:
7
+
Fineract officially supports PostgreSQL.
8
8
9
-
* MySQL compatible databases (e.g. MariaDB)
10
-
* PostgreSQL
9
+
https://cwiki.apache.org/confluence/display/FINERACT/FSIP-9%3A+Standardize+on+PostgreSQL[MySQL and MariaDB support exists and is deprecated -- it will eventually be removed entirely].
11
10
12
11
The platform differentiates between these database types in certain cases when there's a need to use some database specific tooling. To do so, the platform examines the JDBC driver used for running the platform and tries to determine which database is being used.
0 commit comments