Skip to main content

Flowable Quick Installation Instructions

Prerequisites

See the Flowable System Requirements and Supported Software documentation.

License File

Flowable requires that you have a valid license for the Product. The license is either stored on the file system or in the database. If the license is provided as a file then it is typically located in the .flowable folder of your home directory. On Unix or macOS the file is ~/.flowable/flowable.license. The location of the license file can be changed in the application.properties file (see below).

flowable.license.location=file:/myCustomLocation/flowable.license

To store the license in the database then the following property must be set in the applications.properties file:

flowable.license.db-store-enabled=true

With the license database store mode enabled a license is uploaded using the Flowable Work application.

Elasticsearch

You can download Elasticsearch from here. Once the package is downloaded you should unpack it and then run it by executing bin/elasticsearch (bin\elasticsearch.bat on Windows).

By default elasticsearch runs in the foreground and will print the logs in the console. You can stop it by pressing Ctrl-C. You can test that elasticsearch is running by sending an HTTP GET request to port 9200 on localhost or by going to http://localhost:9200/ in your browser.

Install Tomcat

You can download Tomcat from here. Once you download the package you should unpack it. The Tomcat is started by running bin/catalina.sh (bin/catalina.bat on Windows.). Do not run Tomcat yet; first follow the steps for installing the Flowable WARs.

WAR Files

If you do not already have access to the following WAR files, please contact your Flowable representative:

  • Flowable Work: flowable-work.war.

  • Flowable Design: flowable-design.war.

  • Flowable Control: flowable-control.war.

Copy the files into the Tomcat webapps folder.

Application Configuration File

Copy the file named application.properties into the Tomcat lib folder.

This file contains the most common configurations, such as the data source. By default, an H2 database is created in the ~/flowable-db folder.

If you want to run with a different database, or use H2 in a different location, follow the instructions in the "Using a Different Database" section of this guide.

Starting Tomcat

You can now start Tomcat by running bin/catalina.sh (bin/catalina.bat on Windows). Alternatively, you can run bin/catalina.sh run to have it in the foreground.

You should now be able to access the Flowable applications:

You can log in with the user admin and password test. You need to login in every application as the applications use different user stores.

Using a Different Database

The Flowable applications are Spring Boot applications and are configured in a standard Spring Boot way. This means that the database can be configured by setting the following properties to the application.properties file previously mentioned.

spring.datasource.url=<jdbc URL>
spring.datasource.driver-class-name=<jdbc driver class name>
spring.datasource.username=<username>
spring.datasource.password=<password>

The application.properties file contains examples for the compatible databases:

  • H2

  • MySQL

  • MariaDB (since 3.11)

  • PostgreSQL

  • Oracle

  • Microsoft SQL Server

  • DB2

The Flowable applications do not ship with the JDBC drivers for databases other than H2. Therefore you need to download the appropriate JDBC driver and copy the jar into the Tomcat lib folder.

The Flowable applications create the required database and tables when they start. The database user (normally, flowable) needs database schema read-write permissions.

It is also possible to disable the schema creation or only perform schema validation. For this the property flowable.database-schema-update needs to be set.

The possible values for it are:

  • true - Default value. A check is performed, and an update of the schema is performed if it is necessary.
  • false - Checks the version of the DB schema against the library throws an exception if the versions don't match.
  • ignore - Does nothing. No schema creation, no schema version check.