Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Tip

Colima is an alternative to Docker, which has gained popularity due to recent license changes for Docker Desktop. The following page documents the steps needed to run Bahmni using Colima.

Read more about Colima here: https://github.com/abiosoft/colima

Read more about Docker Desktop license changes here: https://www.docker.com/blog/updating-product-subscriptions/

TODO: Vijay Anand Shanmughadass / Siva Reddy Pathuri from SNOMED CT team will document these steps soon.

Docker Desktop is licensed:

Docker Desktop is a licensed software. It is licensed under the Docker Subscription Service Agreement. The agreement states that Docker Desktop is free for personal use, education, and non-commercial open source projects. Otherwise, it requires a paid subscription for professional use. Paid subscriptions are also required for government entities.

The following are the requirements for free use of Docker Desktop:

  • Individuals

  • Non-commercial open source developers

  • Students and educators

  • Small businesses of fewer than 250 employees AND less than $10 million in revenue

Alternatives:

If you want to use Docker CLI/Engine for free, you can use Colima or Rancher. Both projects are free to use and offer similar functionality.

  • Docker CLI/Engine is the command-line interface for Docker. It is free to use.

  • Colima is an open source project that allows you to run Docker Engine in a virtual machine. It is free to use.

  • Rancher is a commercial project that provides a web-based interface for managing Docker Engine. However, Rancher also offers a free community edition that allows you to use Docker Engine for free.

Installing Colima:

Colima is an open source project that provides a way to run Docker Engine on macOS and Linux without the need for Docker Desktop. It is a lightweight alternative to Docker Desktop that offers similar functionality.

To use Docker Engine with Colima, you will need to install the following:

  • Docker Engine

  • Colima

You can install Docker Engine using the following commands:

  • macOS: brew install docker

  • Linux: apt install docker

You can install Colima using the following commands:

  • macOS: brew install colima

  • Linux: pip install colima

Once you have installed Docker Engine and Colima, you can start using Docker by running the following command:

colima start

This will start a Docker Engine VM in the background. You can then run Docker commands by using the docker command.

Configuring Colima for Bahmni:

Update the CPU settings and Memory settings as follows:

colima start --edit

Code Block
# Number of CPUs to be allocated to the virtual machine.
# Default: 2
cpu: 8

# Size of the memory in GiB to be allocated to the virtual machine.
# Default: 2
memory: 12

Running Docker Compose:

When using Colima, the Docker Compose commands remain largely consistent with standard Docker Compose commands. Colima leverages the Docker runtime under the hood, ensuring compatibility with existing Docker workflows. For example

Code Block
docker compose version

docker compose --profile <PROFILE_NAME> up --pull=always -d

docker compose --profile <PROFILE_NAME> down -v

Furthermore, the current Docker deployment projects should continue to function seamlessly as before.

Code Block
https://github.com/Bahmni/bahmni-docker

https://github.com/Bahmni/snomed-bahmni-docker

Useful References:

https://www.swyx.io/running-docker-without-docker-desktopYou can also find crowd sourced documentation for replacing Docker Desktop with Colima here

Troubleshooting:

  • If using Mac M1, when we run the following command

Code Block
brew install docker

if we get the following error,

Code Block
Warning: Treating docker as a formula. For the cask, use homebrew/cask/docker
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:
    arch -arm64 brew install ...
To install under x86_64, install Homebrew into /usr/local.

use the following command as suggested

Code Block
arch -arm64 brew install docker
arch -arm64 brew install colima

Again if we get the following error

Code Block
Warning: Treating docker as a formula. For the cask, use homebrew/cask/docker
Error: No developer tools installed.
Install the Command Line Tools:
  xcode-select --install

use the following command as suggested

Code Block
xcode-select --install

  • If you encounter the following problem while executing Docker commands:

Code Block
Cannot connect to the Docker daemon at unix:///Users/<username>/.colima/default/docker.sock. Is the docker daemon running?

you can resolve it by initiating Colima with the command:

Code Block
colima start --runtime docker

Info

Running Bahmni on Docker

Page Tree
rootRunning Bahmni on Docker
startDepth1