Welcome to the Chap modelling platform!
May 7, 2026 · View on GitHub
This is the main repository for the Chap modelling platform.
Read more about the Chap project here
Code documentation
The main documentation for the modelling platform is located at https://chap.dhis2.org/chap-modeling-platform/.
Development / contribution
Information about how to contribute to the Chap Modelling Platform: https://chap.dhis2.org/chap-modeling-platform/contributor/.
Issues/Bugs
If you find any bugs or issues when using this code base, we appreciate it if you file a bug report here: https://github.com/dhis2-chap/chap-core/issues/new
Launch development instance using Docker
cp .env.example .env
docker compose up
Rebuilding after a source change
docker compose up will reuse an existing chap-core-chap image if one is
already built — it does not automatically rebuild when you edit source. If
you see a stale chap_core.__version__ or a fix that clearly didn't land
inside the running container, use one of:
make restart # down && up -d --build (preserves volumes incl. chap-db)
make force-restart # down -v && build --no-cache && up (WIPES VOLUMES)
make chap-version # print the chap_core version running inside the container
make restart is the right hammer 90% of the time. make force-restart
also wipes the Postgres volume, so reach for it only when you need a clean
slate. make chap-version is also printed automatically at the end of
make restart so version drift is visible at a glance.
Running with chapkit model overlays
Chapkit-based models ship as opt-in compose overlays. Layer one onto
compose.yml (not compose.ghcr.yml — those two are alternatives, not
stackable) to run chap-core with the chapkit services already
self-registered.
The recommended overlay is compose.chapkit.yml, an umbrella file that
includes every chapkit-converted model. As more models are converted to
chapkit, they get added here so a single -f flag pulls them all in:
docker compose -f compose.yml -f compose.chapkit.yml up -d
If you only want the EWARS service, use the single-model overlay
compose.ewars.yml instead:
docker compose -f compose.yml -f compose.ewars.yml up -d
Deploy on Kubernetes
CHAP can be deployed on Kubernetes using our helm chart which can be found here.