Sign inSign up

operaton/wildfly

By operaton

โ€ขUpdated 1 day ago

The Operaton Wildfly distribution

Image
0

10K+

operaton/wildfly repository overview

โ Operaton WildFly

This Docker image provides a process automation engine running on WildFly, suitable for both quick development and scalable production deployments. It supports both an embedded H2 database and connection to an external relational database (RDBMS) such as PostgreSQL or MySQL.


โ ๐Ÿ”ง Usage

You can run this container in two modes:

  • With an embedded H2 database (default, for development and evaluation)
  • With an external RDBMS (e.g., PostgreSQL, MySQL) for production use

โ ๐Ÿงช Running with Embedded H2 (Development)

To quickly launch the engine using an in-memory H2 database:

docker run -d --name operaton \
  -p 8080:8080 \
  operaton/wildfly

Once running, access the web interface at:
http://localhost:8080/operatonโ 

You can customize the webapp path with the OPERATON_WEBAPP_NAME environment variable.


โ ๐Ÿ—๏ธ Running with an External Database

Depending on your database of choice, copy one of the configurations below into a file named docker-compose.yaml. Then, in the same directory, run:

docker compose up -d

The application will be accessible at http://localhost:8080/operatonโ 

โ ๐Ÿฌ docker-compose.yaml for MySQL
services:
  operaton:
    image: operaton/wildfly
    container_name: operaton
    environment:
      - DB_DRIVER=com.mysql.cj.jdbc.Driver
      - DB_URL=jdbc:mysql://mysql:3306/operaton?autoReconnect=true&sessionVariables=transaction_isolation='READ-COMMITTED'
      - DB_USERNAME=root
      - DB_PASSWORD=rootpassword
      - OPERATON_WEBAPP_NAME=operaton
    ports:
      - "8080:8080"
    depends_on:
      - mysql
    restart: always

  mysql:
    image: mysql:8.0
    container_name: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
      - MYSQL_DATABASE=operaton
      - MYSQL_INITDB_EXTRA_ARGS=--transaction-isolation=READ-COMMITTED
    volumes:
      - mysql-data:/var/lib/mysql
    restart: always

volumes:
  mysql-data:
    driver: local
โ ๐Ÿ˜ docker-compose.yaml for PostgreSQL
services:
  operaton:
    image: operaton/wildfly
    container_name: operaton
    environment:
      - DB_DRIVER=org.postgresql.Driver
      - DB_URL=jdbc:postgresql://postgres:5432/operaton
      - DB_USERNAME=postgres
      - DB_PASSWORD=postgrespassword
      - OPERATON_WEBAPP_NAME=operaton
    ports:
      - "8080:8080"
    depends_on:
      - postgres
    restart: always

  postgres:
    image: postgres:15
    container_name: postgres
    environment:
      - POSTGRES_DB=operaton
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgrespassword
    volumes:
      - postgres-data:/var/lib/postgresql/data
    restart: always

volumes:
  postgres-data:
    driver: local

โ ๐Ÿ”„ Port 8080 Already in Use?

If port 8080 is already being used on your machine, the container will fail to start because it cannot bind to that port. This is a common issue when running multiple services or development environments locally.

To resolve this, change the host port in the port mapping section of your docker run or docker-compose.yaml file.

โ ๐Ÿ”ง Example (Inline Docker Run)

Change:

-p 8080:8080

To use a different host port, like 8081:

-p 8081:8080

In this example, 8081 is the port on your local machine, and 8080 is the port inside the container.

โ ๐Ÿ”ง Example (Docker Compose)

In your docker-compose.yaml, change:

ports:
  - "8080:8080"

To something like:

ports:
  - "8081:8080"

This tells Docker to forward traffic from your hostโ€™s port 8081 to the containerโ€™s internal port 8080.

Save the changes, and re-run:

docker compose up -d

After the port has been changed to 8081 (inline or in docker-compose.yaml), access the application at:
http://localhost:8081/operatonโ 


โ โš™๏ธ Configuration

Supported environment variables:

VariableDescriptionExample
DB_DRIVERJDBC driver class nameorg.postgresql.Driver
DB_URLJDBC connection URLjdbc:mysql://... or jdbc:postgresql://
DB_USERNAMEDatabase usernameroot, postgres, etc.
DB_PASSWORDDatabase passwordyour-password
OPERATON_WEBAPP_NAMEWebapp context pathoperaton

โ ๐Ÿ“‚ Default Credentials

The application ships with default login credentials:

  • Username: demo
  • Password: demo

โ ๐Ÿ“„ License

This project is distributed under the terms of the Apache 2.0 Licenseโ .

Tag summary

Content type

Image

Digest

sha256:467faf035โ€ฆ

Size

411 MB

Last updated

22 days ago

docker pull operaton/wildfly