# Jembi Platform Installation

## Prerequisites <a href="#id-4a1yqprqttyw" id="id-4a1yqprqttyw"></a>

In the following, we will introduce the software prerequisites to be able to run the client registry jempi on your machine using the platform.

### Docker <a href="#rglemv3fug4d" id="rglemv3fug4d"></a>

Please refer to the [official installation guide](https://docs.docker.com/engine/install/ubuntu/) in order to install docker on your machine. It is best to follow the post installation process so that you grant docker sudo access.

### \[for Windows users] WSL2 <a href="#ku1gqbfaemlj" id="ku1gqbfaemlj"></a>

Installing WSL2 is required to be able to develop and test the project.\
It is recommended to limit the memory usage of WSL2.

## Local Setup <a href="#k8o7yc6w0hnu" id="k8o7yc6w0hnu"></a>

```bash
git clone https://github.com/jembi/platform.git && cd platform/
```

1. Create /tmp/logs directory

```bash
sudo mkdir -p /tmp/logs/
```

2. Create the docker platform image

```bash
./build-image.sh
```

3. Initialise Docker Swarm

```bash
docker swarm init
```

4. Run 'go cli' binary to launch the project

```bash
./get-cli.sh
```

5. Launch the client registry jempi package profile\
   a. all packages and profiles are configured in the ./config.yaml field\
   b. updates to environment variable can be made in the profile env file ie: mpi.env

```yaml
 - name: mpi
    packages:
      - interoperability-layer-openhim
      - reverse-proxy-nginx
      - message-bus-kafka
      - job-scheduler-ofelia
      - monitoring
      - client-registry-jempi
      - identity-access-manager-keycloak
      - openhim-mapping-mediator
    envFiles:
      - mpi.env
```

```bash
./instant-linux package init -p mpi
```

6. Access : <http://localhost:3033/login>

![JeMPI Web Keycloak Sign in](/files/tA1It0CbhBRAIio6lHJ4)

7. Sign in with Keycloak user credentials

![JeMPI Web Keycloak Sign in](/files/Lh7I4G3VKfZJdp7qiLgT)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jembi.gitbook.io/jempi/installation/jembi-platform-installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
