X4 BPMS as a central digitization platform allows you to digitize your business processes on a business and technical level. Connect people, systems and devices and thus eliminate manual processes. Due to the low-code principle, users can use the X4 BPMS to independently digitize processes without deeper programming knowledge.
X4 Server is the core element of the X4 BPMS. As central component of the X4 BPMS architecture, X4 Server is both the central storage for projects and business processes, and due to the integrated process engine (Virtual Execution System), the component responsible for the execution and control of all processes. An X4 Server license includes the subcomponents X4 ESB, X4 BPM, X4 WebApp and X4 Control Center.
Use the X4 Designer as central tool for modeling your processes intuitively and without programming:
Use the complete functionality of the X4 BPMS 30 days free of charge. Install the X4 BPMS and experience how easy process automation can be.
You would like to learn more about our products and services?
Get in touch with us. We are happy to help you.
Starting from version 7.x, the X4 Server is designed to work seamlessly with the Keycloak image to provide robust authentication mechanisms. To deploy both services together and ensure smooth integration, Docker Compose offers an effective solution:
---
services:
keycloak:
image: softproject/keycloak
container_name: keycloak_container
hostname: keycloak.localhost
ports:
- "8085:8085"
networks:
- internal
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=demo
x4:
image: softproject/x4_server
container_name: x4_container
hostname: x4.localhost
volumes:
- "./x4.license:/opt/X4/x4.license" # X4 license binding, you should place a valid license.
- "./configurations:/opt/X4/configurations" # Configuration binding for keycloak.
- "./logs:/opt/X4/wildfly/standalone/log" # Logs binding.
# - "./X4Config.xml:/opt/X4/X4config.xml" # X4config binding, you would need to place the file before starting.
- "./deployments:/opt/X4/deployments" # Deployments binding, in case you want to add x4apps there.
- "./X4DB/1:/opt/X4/X4DB/1" # Projects binding.
ports:
- "8080:8080"
depends_on:
- keycloak
networks:
- internal
networks:
internal:
For more details on Docker Compose functionality and additional configurations, you can refer to the Docker Compose
To establish connectivity between the X4 Server Docker image and Keycloak, it's necessary to create a configuration file named keycloak_config.json under /opt/X4/configurations, as mounted in the Docker Compose setup. The contents of this file should resemble the following structure:
{
"connection": {
"realm": "X4Realm",
"auth-server-url": "http://keycloak:8085/auth/",
"resource": "X4",
"credentials": {
"secret": "60304a13-8fa6-4899-94a2-0c10562768ec"
}
}
}
Please note that from version 7.2 onwards, the section regarding "rest-api-credentials" is no longer needed.
It's imperative to modify the default secret in Keycloak for enhanced security measures. To change the secret:
H2 is shipped by default as X4 DB but if you want to change it you can use the following variables:
Please note that when using environment variables to configure a database different than H2, it's essential to ensure the database is migrated appropriately or an existing X4 database is used. The migration tool can be downloaded from Update Tool
Example Docker Compose setup:
---
services:
x4:
image: softproject/x4_server
container_name: x4_container
hostname: x4.localhost
environment:
- DATABASE_MODE=postgresql
- DATABASE_USER=postgres
- DATABASE_PASSWORD=postgres
- DATABASE_HOST=postgres_db
- DATABASE_PORT=5432
...
For those seeking to utilize Docker images for all components, including a database, consider the following example with PostgreSQL integration.
Please note it's essential to ensure the database is migrated appropriately or an existing X4 database is used. The migration tool can be downloaded from Update Tool
---
services:
keycloak:
image: softproject/keycloak
container_name: keycloak_container
hostname: keycloak.localhost
ports:
- "8085:8085"
networks:
- internal
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=demo
postgres_db:
image: postgres:latest
container_name: postgres_container
hostname: postgres_db # We can define a hostname and as it is on the same network (internal) it can be accesible from X4
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=X4
ports:
- "5432:5432"
networks:
- internal
volumes:
- ./postgres_data:/var/lib/postgresql/data # If you need to place your old data or make them persistent.
x4:
image: softproject/x4_server
container_name: x4_container
hostname: x4.localhost
environment:
- DATABASE_MODE=postgresql
- DATABASE_USER=postgres
- DATABASE_PASSWORD=postgres
- DATABASE_HOST=postgres_db
- DATABASE_PORT=5432
volumes:
- "./x4.license:/opt/X4/x4.license" # X4 license binding, you should place a valid license.
- "./configurations:/opt/X4/configurations" # Configuration binding for keycloak.
- "./logs:/opt/X4/wildfly/standalone/log" # Logs binding.
- "./X4Config.xml:/opt/X4/X4config.xml" # X4config binding, you would need to place the file before starting.
- "./deployments:/opt/X4/deployments" # Deployments binding, in case you want to add x4apps there.
- "./X4DB/1:/opt/X4/X4DB/1" # Projects binding.
ports:
- "8080:8080"
depends_on:
- keycloak
- postgres_db
networks:
- internal
networks:
internal:
Content type
Image
Digest
sha256:66faaaf5b…
Size
762.4 MB
Last updated
about 1 month ago
docker pull softproject/x4_server