This repository facilitates the setup of Docker containers required to build and develop the Payment Hub Operations Web UI. The services included in this setup are:
- Keycloak – For user authentication and authorization management.
- jBPM – A business process management tool, enabling maker-checker workflows.
- Prometheus – For collecting and scraping metrics from Keycloak.
- Grafana – Provides visual dashboards to monitor and manage Keycloak user activities.
Ensure the following are installed and running on your system:
Follow these steps to set up and run the services:
- Clone the repository:
git clone https://github.com/dipandhali2021/paymenthub-docker.git
- Navigate to the project directory:
cd paymenthub-docker
- Start the services using Docker Compose:
docker-compose up
Ensure Docker is up and running before executing the above command.
- Initial Setup for jBPM and Grafana:
- Once the services are running, perform basic setup for jBPM and Grafana as outlined below.
- Keycloak and Prometheus do not require additional setup.
Use the following default credentials to access the services:
Service | Username | Password |
---|---|---|
jBPM | wbadmin | wbadmin |
Keycloak | admin | admin |
Grafana | admin | admin |
Once the services are running, access them at the following URLs:
- Keycloak: http://localhost:8080
- jBPM: http://localhost:8180/business-central
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000
- Open a browser and navigate to http://localhost:8180/business-central/.
- Log in with the default credentials (
wbadmin
/wbadmin
). - Go to Design → MySpace → Import Project.
- In the repository URL field, enter:
https://github.com/dipandhali2021/user-management-v0.git
- Select PaymentHubEE and click OK.
- Click Deploy to complete the setup.
To enable CORS (Cross-Origin Resource Sharing) for jBPM's REST API access:
- Access the running jBPM container:
docker exec -it jbpm-server /bin/bash
- Navigate to the directory where the
jbpm-cors.sh
script is located:
cd /opt/jboss
- Verify the presence of the script:
ls -l
- If the script is not executable, change its permissions:
chmod +x jbpm-cors.sh
- Run the script to configure CORS:
./jbpm-cors.sh
- Once the script completes, CORS will be configured for jBPM.
- Open Grafana in a browser: http://localhost:3000
- Log in with the default credentials (
admin
/admin
). - In the left-hand menu, click Toggle Menu → Administration → Data Sources.
- Click Add data source and select Prometheus.
- Set the URL for Prometheus:
http://<your-machine-ip>:9090
- Scroll down and click Save & Test. If any issues arise, restart the Grafana container in Docker.
- In the repository, navigate to the
grafana-dashboard
directory and copy the contents of the JSON file. - In Grafana, click Toggle Menu → Dashboards → New → Import.
- Paste the copied JSON content into the
Import via panel
JSON section. - Click Prometheus in the third option to select it as the data source.
- Grafana dashboard will now display the Keycloak metrics.