CHT Docker Helper: The Fastest App Develpment Setup

Most folks today run docker-compose up and see this when they’re done:

Along the top we see a terminal with the raw logs of both haproxy and medic_os docker containers. Potentially there may be an error hiding in here, but it’s had to tell. Along the bottom we’ve browsed to https://localhost, but there’s a scary warning because the CHT instance doesn’t have a valid TLS certificate. While a savvy developer knows their way around this setup, it can be intimidating for first time app developers or folks looking to take the CHT for a quick spin locally. Further, you can not connect your mobile device to this instance without some extra effort (mainly this script or this extra container - both are great!)

We think most folks would prefer to run ./cht-docker-compose.sh -e /env and see this when they’re done:

The CHT Docker Helper does the same thing that docker-compose does, literally using the exact same command line calls. However, it tries multiple times to recover from errors, allows you to easily stop and start different instances (even run concurrent instances!) and gives you a simple text based interface showing the status along the way. When it has succeeded in starting, it shows the https:// enabled URL of the CHT. With a valid TLS certificate installed, this instance is ready for mobile testing with CHT Android. The Fauxton URL for CouchDB access is listed as well.

The Helper was developed on Linux, but has been tested to work on Windows and x86 based macOS computers (We’re still working on M1 support). Please see the troubleshooting section if you get stuck - or post a question here on the forums!

While this post might be more at home in the “Technical Support” section, I’m hoping to reach a more broad audience of anyone looking to run a local instance of the CHT for both app development and app testing.

4 Likes