DMN Hub Installation
Docker Setup
To run DMN Hub, you must install Docker and Docker Compose.
Install
To install Docker / Compose, visit the Docker website and choose the version specific to your Operating System (Mac, Windows, or Linux), and download the file.
Download the Desktop version or use the Installer to install via terminal.
Verification
To check if both Docker and Docker Compose are installed, run the following commands in the terminal:
docker
docker compose
DMN Hub Setup
To set up DMN Hub, follow these steps:
Pull Docker Image
First, you will have to PULL to connect to the DMN Hub.
docker pull ${name}/dmn_hub_container
Docker Configuration
Compose File:
To set up your local Data Base, specify the following path in the compose file (located in docker-compose.yml > postgres-db > volumes).
[local path]/var/lib/postgresql/data
- Postgres
- SQLite
version: '3'
services:
postgres-db:
image: postgres:latest
container_name: postgres-db
networks:
- dmn-hub
environment:
- TZ=Asia/Kolkata
- POSTGRES_USER=postgres // Set the postgres login username.
- POSTGRES_PASSWORD=p0stgres // Set the postgres login password.
- POSTGRES_DB=dmn_container // Set the postgres database name.
volumes:
- ./db.sql:/docker-entrypoint-initdb.d/init.sql
- D:\repos\postgres:/var/lib/postgresql/data // [local path]/var/lib/postgresql/data
ports:
- "5432:5432"
redis-container:
image: redis:latest
container_name: redis-container
networks:
- dmn-hub
ports:
- "6379:6379"
dmn-hub:
image: dmn_hub_container:latest
container_name: dmn-hub-container
environment:
- TZ=Asia/Kolkata
networks:
- dmn-hub
ports:
- "8081:8081"
restart: always
env_file:
- .env
networks:
dmn-hub:
volumes:
postgres-data:
version: '3'
services:
redis-container:
image: redis:latest
container_name: redis-container
networks:
- dmn-hub
ports:
- "6379:6379"
dmn-hub:
image: dmn_hub_container:latest
container_name: dmn_hub_container
environment:
- TZ=Asia/Kolkata
networks:
- dmn-hub
ports:
- "8081:8081"
command: sh -c "apt-get update && apt-get install -y sqlite3 && sqlite3 /app/mydatabase.db < /docker-entrypoint-initdb.d/db.sql && java -jar A8DMN_HUB.jar"
volumes:
- ./.env:/app/.env
- .{your DB path}:/app/mydatabase.db // Specify your database path.
- ./db.sql:/app/db.sql
- ./db.sql:/docker-entrypoint-initdb.d/db.sql
- ./entrypoint.sh:/app/entrypoint.sh
networks:
dmn-hub:
ENV File:
Following are the important variables in the .env file:
JWT_EXPIRY_TIME = "86400000" // Login token expiry time.
RESET_PASSWORD_SENDER_EMAIL="xxxxxxxx@autonom8.com" // Sender email address for password reset OTPs.
RESET_PASSWORD_SENDER_EMAIL_PASSWORD="xxxxxxxx" // Password for the sender email address.
HEADER_LOGO_URL="https://yourdomain.com/logo.png" // URL for the header logo in the password reset emails.
// To use SQLight, remove the following lines.
POSTGRES_DB_URL= "jdbc:postgresql://postgres-db:5432/[your db name]" // URL for the Postgres database.
DB_PASSWORD="xxxxxxxx" // Password for Postgres login. (Set in the compose file.)
DB_USERNAME="postgres" // Username for Postgres login. (Set in the compose file.)
Start Docker
Next, you will have to Start the DMN Hub in Docker:
docker compose up
After successfully starting DMN Hub, access it via your browser using the following URL:
localhost:8081/web