This is the main repository for the Chap modelling platform.
Read more about the Chap project here
The main documentation for the modelling platform is located at https://chap.dhis2.org/chap-modeling-platform/.
Information about how to contribute to the Chap Modelling Platform: https://chap.dhis2.org/chap-modeling-platform/contributor/.
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
cp .env.example .env
docker compose up
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.
Chapkit-based models are installed from the
CHAP Model Marketplace
with chap-admin, once chap is running. A fresh deployment needs this manual
step after the first docker compose up -d:
chap-admin install-all
It starts every model service with a verified stable version, registers it in
chap from what the running service reports, and adds the model’s verified
configurations. chap-admin install chapkit_ewars_model does the same for one
model. Include the overlay it writes in later Compose commands:
docker compose -f compose.yml -f compose.marketplace.yml up -d. See the
CLI setup guide for the details.
Do not start models with compose.chapkit.yml or compose.ewars.yml in a
deployment. A service started that way registers a model template but gets no
configurations, so it cannot be run. Those overlays are kept for development.
CHAP can be deployed on Kubernetes using our helm chart which can be found here.