Platform
Installation guide for CREDEBL Platform Services
Before installing the CREDEBL Platform services, it is essential to ensure that your environment meets certain prerequisites. Properly setting up these requirements will help facilitate a smooth installation process and optimal performance of the platform. Following these guidelines will help prevent potential issues and ensure that the CREDEBL Platform services are installed and operate as intended.
System requirements
Here is the list of software needed to get started:
Operating System:
Supported Architectures: ARM and AMD (x86)
Note: Support for ARM and AMD servers is available starting from v2.1.0. Versions prior to v2.1.0 only support AMD (x86) architecture.
Git: Ensure you have Git installed (version 2.34.1 or higher)
Docker Engine: Required for containerization
Linux: Docker will be automatically installed by the setup script.
macOS:
Install manually: Download Docker Desktop from docker.com
Launch Docker: After installation, open the Docker Desktop application.
Available Ports:
The platform requires the following ports to be available on your machine:
5432: Default PostgreSQL database port
5000: CREDEBL API service
4222: NATS messaging system
6379: Redis caching service
8080: Keycloak service port
4000: Schema file server port
Ensure these ports are not blocked by your firewall or occupied by other applications.
Prerequisites
Here is the list of prerequisites we will need for CREDEBL:
PostgreSQL (>= 14)
NATS (>= 2.6.4)
REDIS (>= 7.4)
Keycloak (>= 25.0.6)
AWS S3 Configuration Requirements
The platform uses Amazon S3 for secure file storage. Prepare your:
AWS Access Key ID
AWS Secret Access Key
S3 Bucket Name
AWS Region
AWS S3 configuration setup
IAM User Setup
Step 1: Create Dedicated IAM User
Step 2: Set Permissions Attach policy to user with these permissions:
s3:PutObjects3:GetObjects3:ListBucket
Step 3: Generate Credentials After user creation, download:
Access Key ID
Secret Access Key &#xNAN;(Store securely for CREDEBL installation)
S3 Bucket Folder Requirements
Please ensure the following folder structure is created in the respective S3 buckets:
Bucket TypeRequired FoldersAccess LevelConnection URLs Storage
default/persist/Public
Organization Logos
orgLogos/Public
Bulk Issuance
(root level)
Private
SendGrid is used for sending email. You must obtain an API key from your SendGrid account.
Sendgrid API key setup steps
Log in to your SendGrid account:
Go to https://app.sendgrid.com and sign in with your credentials.
Navigate to API Key Settings:-
On the left-hand navigation panel, click on "Settings".
Under Settings, select "API Keys".
Create a New API Key:
Click on the "Create API Key" button.
Choose one of the following access levels:
Enter a meaningful name for your API key to help you identify its purpose later.
Full Access – Grants complete access to all endpoints.
Restricted Access – Allows you to configure fine-grained permissions for each API category.
Billing Access – Provides access only to billing-related endpoints.
Click the "Create & View" button.
Secure Your API Key:
Your API key will be displayed only once, make sure to copy and save this key securely in a password manager or secure vault.
Note:-
Do not hard-code the key in your application code.
Avoid committing the key to any public repositories (e.g., GitHub)
Note: PostgreSQL, NATS, Redis, and Keycloak will be automatically installed when you run the setup script, so there's no need to install or configure them manually beforehand. However, you must have your AWS credentials and SendGrid API key ready before executing the script.
CREDEBL Installation Steps
To setup, use the provided script which automatically checks your environment, installs Docker Engine, Docker Compose and Terraform on Linux, and runs the docker compose up command. This helps ensure all dependencies are met and streamlines the startup process for CREDEBL.
Option 1: Local deployment
Clone the Repository Begin by cloning the CREDEBL installation repository from GitHub. This repository contains all necessary scripts and configurations.
Grant Execution Permissions
The installation script requires executable permissions to run.
This command makes the
setup.shscript executable.Execute the Setup Script
Run the setup script to begin the automated installation process.
This script will:
Create and configure the database
Install and configure Keycloak
Set up the schema file server
Seed the database with initial data
Launch all required services in separate terminal tabs (each tab will be automatically named for its service, and new services will start a few seconds apart)
After the script completes, the backend and agent services will be running. You will need to start the frontend separately by following the instructions here.
Option 2: Docker Deployment
Clone the Repository Begin by cloning the CREDEBL installation repository from GitHub. This repository contains all necessary scripts and configurations.
Grant Execution Permissions
The installation script requires executable permissions to run.
This command makes the
setup.shscript executable.Execute the Setup Script
Run the setup script to begin the automated installation process.
What the script does:
Environment Check: Verifies your OS (Linux/macOS) and architecture
Installs Dependencies
Linux: Auto-installs Docker and Docker Compose
macOS: Requires manual Docker installation first
Sets Up Terraform
Installs Terraform (if missing)
Keycloak Configuration
Initializes Keycloack configuration
User Input Prompt: Requests the following details:
Your machine's IP address (for network configuration).
SendGrid API Key (for email services).
AWS S3 credentials (for file storage).
Execute Docker command
Executes docker compose up command.
The script will then deploy all necessary containers and services.
Verify the Installation
After installation, verify that all components are running correctly.
Run the following command to list all active Docker containers:
Initially, you should see 21 services running
After a few minutes, the seed service will automatically stop
Final running state should show 20 active services
Access the CREDEBL API
Once all containers are running, you can access the CREDEBL API\
Tearing Down the Infrastructure
When you no longer need the local infra, you can clean up all resources using the provided script.
Grant Permissions to the Destroy Script
Ensure the script has executable permissions:
Run the Destroy Script
Execute the script to remove all Docker resources:
This script will:
Stop all running containers.
Remove all Docker containers, volumes, and images associated with CREDEBL.
Clean up any temporary files or network configurations.
Additional Notes
Firewall Configuration: If you encounter connection issues, ensure your firewall allows traffic on the ports listed in the prerequisites.
Troubleshooting: If containers fail to start, check the logs using:
Last updated
