2. Run

Now we are going to run the Axon Ivy Engine with a system database management which holds the system database - in this case we use PostgreSQL. Create a new folder somewhere in your file system and copy paste the following files to it:

docker-compose.yaml

version: '3.7'
services:

  ivy:
    image: axonivy/axonivy-engine:dev
    ports:
     - 8080:8080
    volumes:
     # ivy configuration
     - ./ivy.yaml:/etc/axonivy-engine/ivy.yaml

     # mount application directory to the host that this directory is persistend
     # otherwise you will loos application deployments when container will be
     # destroyed
     - ./applications:/usr/lib/axonivy-engine/applications

     # place the licence.lic file in the same directory as docker-compose.yaml
     - ./licence.lic:/etc/axonivy-engine/licence.lic

  postgres:
    image: postgres:14
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: 1234

ivy.yaml

# ivy configuration file which defines the postgres
# container as system database
SystemDb:
  Driver: org.postgresql.Driver
  Url: jdbc:postgresql://postgres:5432/AxonIvySystemDatabase
  UserName: admin
  Password: 1234
  Autoconvert: false
Administrators:
  admin:
    Password: admin

Provide a valid license file in the same folder with the name licence.lic. If you don’t do that than this example should still work but the Axon Ivy Engine will run in demo mode.

Open a terminal and execute docker-compose up in the folder where docker-compose.yaml is located. After startup, the engine is available at http://localhost:8080.