Run the Docker Image
Now, we will run the Axon Ivy Engine with a separate container that 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:
compose.yaml
services:
ivy:
image: axonivy/axonivy-engine:12.0
ports:
- 8080:8080
volumes:
# mount persistent file areas so that deployed applications,
# changed configuration and runtime data don't get lost if the
# container gets destroyed
- ivy-apps:/ivy/applications
- ivy-config:/ivy/configuration
- ivy-data:/ivy/data
# ivy configuration
- ./ivy.yaml:/ivy/configuration/ivy.yaml
# your licence
- ./licence.lic:/ivy/configuration/licence.lic
postgres:
image: postgres:17
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: 1234
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
ivy-apps:
name: ivy-apps
ivy-config:
name: ivy-config
ivy-data:
name: ivy-data
postgres-data:
name: postgres-data
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 supply a license, then this example will still
work, but the Axon Ivy Engine will run in demo mode.
Open a terminal and execute docker-compose up
in the folder where you
saved compose.yaml
. After startup, the engine is available at
http://localhost:8080.