Welcome to Knowage Q&A, where you can ask questions and receive answers from other members of the community.
0 votes
1 view

Dear all,

I'm a newbie and I'm a functional consultant only. I got a docker installed on my PC and I would like to test Knowage against Idempiere ERP testing environment. My issue is that I don't know how to set parameter in order to make Knowage working as expected.
I did as first step, from dos prompt, the command :  docker pull knowagelabs/knowage-server-dockerdocker 
Please check image attached to understand better.
https://www.knowage-suite.com/qa/?qa=blob&qa_blobid=5970619073721535940

Many thanks for patience and hope a bit of support 

Gio

Environment Latest , just installed today
in Installer by (170 points)

1 Answer

0 votes

Hi,

If you want to just try Knowage and to get a working instance in a fast way I suggest you to take a look at our official docker-compose descriptor. I provide you a simpler version based on the last version of Knowage:

version: "3.1"
services:
  knowage:
    image: knowagelabs/knowage-server-docker:8.0
    depends_on:
      - knowagedb
      - knowagecache
    ports:
      - "8080:8080"
    networks:
      - main
    environment:
      - DB_HOST=knowagedb
      - DB_PORT=3306
      - DB_DB=knowage_master
      - DB_USER=knowage
      - DB_PASS=knowage

      - CACHE_DB_HOST=knowagecache
      - CACHE_DB_PORT=3306
      - CACHE_DB_DB=knowage_cache
      - CACHE_DB_USER=knowage
      - CACHE_DB_PASS=knowage

      - HMAC_KEY=P_7LDE1Kp4a5aNckdZIW3FMsSL7Dx0R7qYOLHYbJkd8
      - PASSWORD_ENCRYPTION_SECRET=R5buUZ2B75zb8jbmBhYcfiMik900A9rBArV5yegHzLA
      - PUBLIC_ADDRESS=localhost

    volumes:
      - ./resources:/home/knowage/apache-tomcat/resources

  knowagepython:
    image: knowagelabs/knowage-python-docker:8.0
    environment:
      - HMAC_KEY=P_7LDE1Kp4a5aNckdZIW3FMsSL7Dx0R7qYOLHYbJkd8
      - KNOWAGE_PUBLIC_ADDRESS=knowage
      - PUBLIC_ADDRESS=localhost
    networks:
      - main

  knowager:
    image: knowagelabs/knowage-r-docker:8.0
    environment:
      - HMAC_KEY=P_7LDE1Kp4a5aNckdZIW3FMsSL7Dx0R7qYOLHYbJkd8
    networks:
      - main

  knowagedb:
    image: mariadb:10.3
    environment:
      - MYSQL_USER=knowage
      - MYSQL_PASSWORD=knowage
      - MYSQL_DATABASE=knowage_master
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
    networks:
      - main
    volumes:
      - "db:/var/lib/mysql"

  knowagecache:
    image: mariadb:10.3
    environment:
      - MYSQL_USER=knowage
      - MYSQL_PASSWORD=knowage
      - MYSQL_DATABASE=knowage_cache
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
    networks:
      - main
    volumes:
      - "cache:/var/lib/mysql"

volumes:
  db:
  cache:

networks:
  main:

Here you will find also the container for Python and R datasets and scripts: those two are optional container. After using docker-compose to start the descriptor above, you will find a working version of Knowage at http://localhost:8080/knowage

by (5.1k points)

Newest docker image from Knowage uses environment variables.

    environment:

      - DB_HOST=$DB_HOST

      - DB_PORT=$DB_PORT

      - DB_DB=$DB_DB

      - DB_USER=$DB_USER

      - DB_PASS=$DB_PASS

      - CACHE_DB_HOST=$CACHE_DB_HOST

      - CACHE_DB_PORT=$CACHE_DB_PORT

      - CACHE_DB_DB=$CACHE_DB_DB

      - CACHE_DB_USER=$CACHE_DB_USER

      - CACHE_DB_PASS=$CACHE_DB_PASS

      - HMAC_KEY=$HMAC_KEY

      - PASSWORD_ENCRYPTION_SECRET=$PASSWORD_ENCRYPTION_SECRET

      - PUBLIC_ADDRESS=localhost

      - HAZELCAST_HOSTS=hazelcast

      - HAZELCAST_PORT=5701

I created a .env file and used the values listed in your descriptor with no success. The docker image knowagelabs/knowage-server-docker:8.1.0-SNAPSHOT does not appear to have been created using the username "knowage".

Hi mstrstvns,

I worked on the Docker image of Knowage but I don't completely understand your comment. I remember I added the CACHE_DB_* and HAZELCAST_* env vars based on some user requests but they don't prevent Knowage to boot up.

I mean, between all the mandatory env vars, the fudamental ones are the DB_* env vars because the main DB where Knowage save all the data is essential to let Knowage work. Those variables must have a coherent values between the knowage container and the DB container.

If your deployment doesn't work I surely will give you assistance but I would prefer in another thread.
...