jboss-dockerfiles / business-central

MIT License
44 stars 65 forks source link

Users and groups gets deleted after taking down docker compose container #79

Closed Muntasir2001 closed 2 years ago

Muntasir2001 commented 2 years ago

Hi,

So, I am running jBPM on docker along with postgresql. I copied the code from https://github.com/jboss-dockerfiles/business-central/blob/main/docker-compose-examples/jbpm-full-postgres.yml (well, I done some minor tweaks but its still pretty much the same).

The problem is, when I take down the container (docker compose down), and restart, the user and groups disappear. I have no clue how and where they are being saved in the first place but if anyone could advise me so that they don't "disappear" and instead.

I have attached my docker compose file.

Thanks in advance. Noob Dev

Muntasir2001 commented 2 years ago

Here is my docker compose code

version: '3.5'

volumes:
  jbpm_app_postgres_data:
  jbpm_app_data:

services:
  postgres:
    image: postgres:latest
    volumes:
      - jbpm_app_postgres_data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: jbpm
      POSTGRES_USER: jbpm
      POSTGRES_PASSWORD: jbpm

  jbpm-app:
    image: jboss/jbpm-server-full:latest
    ports:
      - 8080:8080
      - 8001:8001
    environment:
      - "JBPM_DB_DRIVER=postgres"
      - "JBPM_DB_HOST=postgres"
    volumes:
      - jbpm_app_data:/opt/jboss/wildfly/bin
    depends_on:
      - postgres
mbiarnes commented 2 years ago

Hi Muntasir2001, When you don't make your data persistent (with volumes etc. this is also somewhere in the docs) you are going to loose every time your data when you stop the containers. i.e look at https://quay.io/repository/kiegroup/business-central-workbench-showcase Persistent Configuaration

Muntasir2001 commented 2 years ago

Hi @mbiarnes,

Thank you for replying.

So apparently, the doc talks about how to save project data and assets (obviously, by making a volume and mapping it with directory) but not for saving users and groups data which is kinda weird.

I found the solution at the end which is, I had to map another volume for saving users and groups data.

- jbpm_app_user_data:/opt/jboss/wildfly/standalone/configuration

So right now, my docker compose looks like this:

version: '3.5'

volumes:
  jbpm_app_postgres_data:
  jbpm_app_data:
  jbpm_app_user_data:

services:
  postgres:
    image: postgres:latest
    volumes:
      - jbpm_app_postgres_data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: jbpm
      POSTGRES_USER: jbpm
      POSTGRES_PASSWORD: jbpm

  jbpm-app:
    image: jboss/jbpm-server-full:latest
    ports:
      - 8080:8080
      - 8001:8001
    environment:
      - "JBPM_DB_DRIVER=postgres"
      - "JBPM_DB_HOST=postgres"
    volumes:
      - jbpm_app_data:/opt/jboss/wildfly/bin
      - jbpm_app_user_data:/opt/jboss/wildfly/standalone/configuration
    depends_on:
      - postgres

It would be better if you could include that in your doc both in redhat quay and docker hub.

mbiarnes commented 2 years ago

Hi Muntasir2001,

Glad you found a solution.