Mojaloop local environment setup for Windows
Local setup on a Laptop or Desktop to run the Mojaloop project.
This document will provide guidelines to a technical capable resources to setup, deploy and configure the Mojaloop applications on a local environment, utilizing Docker, Kubernetes and HELM charts.
At this point the reader/implementer should be familiar with Mojaloop's deployment guide. Imported information is contained in that document and as such a prerequisite to this document.
This section will guide the reader through the deployment process to setup Kubernetes within Docker.
If you are new to Kubernetes it is strongly recommended to familiarize yourself with Kubernetes. Kubernetes Concepts is a good place to start and will provide an overview.
The following are Kubernetes concepts used within the project. An understanding of these concepts is imperative before attempting the deployment;
- Ingress Controller
1.1 Kubernetes Installation with Docker
kubectl is part of the installation package when installing Docker Desktop for Windows.
Please note the minimum system and operation requirements;
- Docker Desktop for Windows require Microsoft Hyper-V to run. Hyper-V will be enable as part of the installation process,
- Windows 10 64bit: Pro, Enterprise, Education (1607 Anneversary Update, Build 14393 or later),
- CPU SLAT-capable feature,
- At least 4GB of RAM. (At least 16GB will be required to run the Mojaloop project).
Installing Docker for Windows:
You will require Docker Desktop for Windows 18.02 Edge (win50) and higher, or 18.06 Stable (win 70) and higher. Kubernetes on Docker Desktop for Windows is available on these versions and higher. They are downloadable from:
Once download is completed, the downloaded file can normally be found in your Download folder. Installation is as per normal installations for windows. A restart will be required after this step.
Docker Desktop for Windows requires Microsoft Hyper-V to run. The Docker Desktop installer enables Hyper-V for you.
If Hyper-V is not enabled, A pop-up messages will request if you would like to turn this on. Read the messages and select 'Ok' if appropriate.
You need to insure that VT-X/AMD-v is enabled from
If not, from
cmd.exerun as Administrator and execute:
bcdedit /set hypervisorlaunchtype auto
A reboot would be required again for the updates to take effect.
Start Docker Desktop for Windows:
Docker does not start automatically after installation. To start it, select Docker Desktop and click on it (or hit Enter).
When the whale in the status bar stays steady, Docker Desktop is up-and-running, and accessible from any terminal window. Note - if the whale is not on the status bar, it will be in the hidden icon notifications area, click the up arrow on the taskbar to show it.
1.2 Kubernetes environment setup
Setting up the Kubernetes runtime environment within Docker Desktop:
Open the Docker Desktop for Windows menu by right-clicking the Docker icon.
- Select Settings to open the settings dialog.
- Under the General tab you can configure when to start and update Docker.
Go to Advanced tab
- Increase the CPU allocation to at least 4
- Increase the Memory allocation to at least 8.0 GiB
(If your system resource allow, more can be allocated as indicated below.)
Kubernetes on Docker Desktop for Windows is available in 18.02 Edge (win50) and higher, and in 18.06 Stable (win 70) and higher.
- go to Kubernetes tab
- Select Enable Kubernetes
- Select Show system container (advanced)
Set the context to be used.
As mentioned, the Kubernetes client command,
kubectlis included and configured to connect to the local Kubernetes server. If you have
kubectlalready installed, be sure to change context to point to docker-for-desktop;
kubectl config get-contexts kubectl config use-context docker-for-desktop
Or through the Docker Desktop for Windows menu:
- right-clicking the Docker icon
- Select Kubernetes
- Select docker-for-desktop
- right-clicking the Docker icon
Continue setup and configuration from the Kubernetes Dashboard section in the Mojaloop's deployment guide document.