For this setup we recommend using a server, that has at least 4 CPUs available for usage by translate5 and its dependencies.

This setup is the default setup, if you do not change anything to a default translate5 installation.

Why this setup is recommended

This setup sets up 3 TermTagger instances.

2 of these instances are reserved for imports (tagging terms during the import in translate5) and 1 is reserved for tagging terms while saving segments through the GUI by users.

This setup ensures, that

Understand the setup by explaining ow the OpenTMSTermTagger is working

For the recommended setup there are multiple reasons.

CPU usage and amount of TermTagger instances

Memory usage

How to setup this set up

Edit your termTagger configuration, which you find in


Ensure, that in this file the following line exists and is NOT commented out (this is not needed if setup with supervisord):

SERVERS=("http://localhost:9001" "http://localhost:9002" "http://localhost:9003")

Configure translate5 to use 2 termTaggers for imports and one for the GUI by executing the following SQL on your translate5 database config runtimeOptions.termTagger.url.default '["http://localhost:9001", "http://localhost:9002"]' config runtimeOptions.termTagger.url.import '["http://localhost:9001", "http://localhost:9002"]' config runtimeOptions.termTagger.url.gui '["http://localhost:9003"]'

Restart your termTagger, if you run termTagger as a service. With supervisord this would look like:

supervisorctl restart termtagger:* 

A nightly cronjob (for example when translate5 is in maintenance due your daily backup) should restart the TermTagger instances to clean memory.