Implementation of a National OpenHIE-based Health Information Exchange for Botswana
# Botswana HIE
> 📚 **Comprehensive Documentation**: For detailed setup, configuration, architecture, and operations guides, see the Documentation.
## Tech Used
- Docker
- Golang (cli dev)
- Terraform (remote cluster setup)
- Ansible (remote cluster setup)
## Quick Start for devs (local single node)
> đź“– **For detailed setup instructions**, see the Deployment Guide.
1. If running into an error `invalid mount config for type "bind": bind source path does not exist: /tmp/logs` on running the CLI binary, run the following command: `sudo mkdir -p /tmp/logs/`.
1. `./build-custom-images.sh` - builds project images as well as the platform image
1. Initialise Docker Swarm mode: `docker swarm init`
1. Run `go cli` binary to launch the project:
- **Linux**. From terminal run: `./instant-linux` with your selected arguments. A list of available arguments can be found in the help menu by running `./instant-linux help`
- Mac. From terminal run: `./instant-macos` with your selected arguments. A list of available arguments can be found in the help menu by running `./instant-macos help`
> Warning: Mac has an issue with the binary as it views the file as a security risk. See this article to bypass warning
- Windows. Double click: `platform.exe` (Windows users will need to use a release version below 2.0.0)
## Quick Start for devs (remote cluster)
> đź“– **For detailed remote cluster setup**, see the Deployment Guide - Remote Cluster Setup.
To set up a remote cluster environment, see readme in the cloud repo.
1. Ensure that you have the latest instant repository checked out in the same folder that this repo is in.
1. `./build-custom-images.sh` - builds the platform image
1. Add `.env.prod` file with your remote env vars option set.
> Each Package contains a `metadata.json` file which lists the configurable Env vars and their default values
1. Run `go cli` binary to launch the project (\*Make sure to add the `DOCKER_HOST` variable indicating your **lead Swarm manager\***, i.e. …