CHT hosting requirements
Requirements for hosting CHT applications
Per the Kubernetes vs Docker page, CHT Core can be deployed with either Docker or Kubernetes.
App Developer Hosting
This leverages Docker and requires:
- 4 GB RAM / 2 CPU / 8 GB SSD
- Root Access
- TLS certificates - Docker Helper for 3.x or 4.x provides these for you.
- Current version of
docker
or current version of Docker Desktop both of which includedocker compose
. Note that the olderdocker-compose
is no longer supported.
Production Hosting
Docker
- 8 GB RAM / 4 CPU / 100 GB SSD
- Root Access
- Static IP with DNS entry - will be used to provision a valid TLS certificate
- Current version of
docker
anddocker compose
Kubernetes
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).