CHT hosting requirements

Requirements for hosting CHT applications

For production CHT deployments, Linux is recommended, with Ubuntu the most commonly used. For App Developer Hosting, Linux or macOS may be used. Windows can be used for either, but without recommendation.

Per the Kubernetes vs Docker page, CHT Core can be deployed with either Docker or Kubernetes.

CHT 3.x is End-of-Life and us no longer supported. All requirements below apply to CHT 4.x.

Docker Compose App Developer Hosting

Kubernetes Production Hosting

This guide refers to “Kubernetes”, but Medic recommends a lightweight orchestrator called K3s for bare-metal hosts. The requirements below refer to K3s deployments but can be translated to other Kubernetes hosting. For example, for cloud hosting, we recommend Amazon Elastic Kubernetes Service (EKS) and we’ve also assisted in a large K3s deployment based on VMWare.

Be sure to see the cht-deploy script that leverage the helm application.

  • 1 x HA control-plane nodes: 2 GB RAM / 2 CPU / 20 GB SSD
  • 3 x worker servers: 16 GB RAM / 8 CPU / 50 GB SSD
  • 500GB storage area network (SAN)* - Will host Persistent Volume Claims
  • Root Access
  • Static IP with DNS entry - Kubernetes will use this to provision a valid TLS certificate
  • helm application
  • K3s
  • Current version of docker (used to bootstrap K3s)

* During some upgrades, up to 3x current space used by CouchDB can be needed

Required skills

In addition to the hosting requirements, system administrators should have a basic understanding of command line interface, Kubernetes, docker, container orchestration, deployment, databases (CouchDB, Postgres), networking components (TLS, IP addresses, DNS).


Hosting > 3.x > Self Hosting

Hosting the CHT on self run infrastructure

Hosting > 3.x > AWS Hosting

Hosting the CHT on Amazon EC2