Public | Automated Build

Last pushed: a day ago
Short Description
Digitize your EGMA and EGRA data collection with Tangerine.
Full Description


Digitize your EGMA and EGRA data collection with Tangerine. Create your Assessments online, conduct them offline with the Tangerine Android App. All results you collect can be exported as a spreadsheet. Tangerine has been used by over 30 organizations to conduct over 1 million assessments and surveys in over 50 countries and in 100 languages.


We recommend using AWS for hosting have documented detailed instructions for AWS. Below are general instructions for installing on any machine.

SSH into your machine from a terminal, install Docker, and then run the following commands. You'll need the version of the most recent release. Find that on the releases page here.

# Get the software.
git clone
cd Tangerine
git checkout <version tag>
# Create and edit to match your desired settings. Make sure to set `TANGERINE_VERSION` to the same as what `<version tag>` in the prior commands. 
# Start the software.

If your server restarts or the container stops, you can later run the ./ script in the Tangerine-server folder.

To use SSL, put an SSL enabled Reverse Proxy in front of Tangerine and set the T_PROTOCOL variable in to https before running At RTI we use AWS's Elastic Load Balancer in front of Tangerine because it automatically renews and cycles SSL certificates for us. How to set this up is detailed in our instructions for AWS. If your Tangerine install is on a Digital Ocean Droplet, you can use their Load Balancers and configure them for SSL. See How To Configure SSL Termination on DigitalOcean Load Balancers.
Now visit your Tangerine-server installation at the IP address or hostname of your installation. In this configuration, the browser talks to the Load Balancer securely on Port 443 while the load balancer communicates with Tangerine Container on port 80 on a private network.


Monitor for new stable releases. Note that a "Pre-release" may not be stable, might corrupt your data, and there will not be an upgrade path for you.

SSH into your server and run the following commands.

cd Tangerine
git fetch origin
git checkout <version tag>
# Set up again.
cp config.sh_backup
# Migrate settings from config backup to
vim -O config.sh_backup
rm config.sh_backup
# Check for upgrade scripts that need to be run. Note that you can only run scripts that end in .sh and you need to 
# run every script between your prior version to version you have upgraded to. Also always check the release notes for
# any special instructions
docker exec -it tangerine-container ls /tangerine-server/upgrades
# Run an upgrade script.
docker exec -it tangerine-container /tangerine-server/

Note that if you have created groups already and you are now updating T_HOST_NAME or T_PROTOCOL in, you will manually need to edit the settings docs in each group. See issue #114 for the status of this.


With Docker

git clone
cd tangerine

Now open http://localhost/ in your web browser. To see client v2 go to http://localhost/client/ and to see client v3 go to http://localhost/client-v3/.

Develop v3 client without Docker on a Mac.

1 - Install Brew and Yarn.

/usr/bin/ruby -e "$(curl -fsSL"
brew install yarn

2 - Install nvm.

curl -o- | bash

3 - Start developing.

git clone
cd tangerine
cd client-v3

Now open http://localhost:4200/ in your web browser.

Technical Documentation

Check out the Tangerine Technical Documentation site on Github Pages. Want to contribute documentation? Fork the Tangerine repository, commit to the gh-pages branch and send us a pull request.

Trademark and License

Tangerine is a registered trademark of RTI International. This software is licensed under the GPLv3 License.

Docker Pull Command
Source Repository