Copyright © tagtog Sp. z o.o.

tagtog installation using Docker

The tagtog system runs as a mixture of Docker containers. This works on Linux, macOS, and Windows.



Your system must have installed:

  1. Docker
    • The recommended version is >= 18.03
    • To ensure that your docker installation works correctly and that you have the necessary rights to install and run docker images, run: docker info. Please ensure that you don’t get an error like permission denied, and rather as expected see the details of your docker installation.
  2. Docker Compose
    • The recommended version is >= 1.18
  3. IMPORTANT. The running docker host must have the vm.max_map_count setting variable to be at least greater than 262144. You can check the value by running: sysctl vm.max_map_count. If it is too low, set the value by running: sudo sysctl -q -w vm.max_map_count=262144.

  4. Bash Shell
    • Installed in practically all systems by default.
    • Clarification: any other Unix shell should work too, including for Windows the Unix-like environment Cygwin. However, only the Bash shell is officially supported.
  5. cURL
    • Installed in practically all systems by default

Machine Requirements

Your server (e.g. private one, or on AWS, Azure, or Linode) should meet the following minimum requirements:

First-time Install


./tagtog_on_premises restart latest $TAGTOG_HOME

# See more options in the tagtog_on_premises script


tagtog runs on https only and redirects all http requests to https. We recommend setting your http and https ports to the defaults 80 and 443 but you are free to choose other ones. See the tagtog_on_premises script.

By default, tagtog uses a SSL self-signed certificate. To use your own SSL certificate, place the following 2 files in the folder ${TAGTOG_HOME}/ssl:

How and where the data is stored

All tagtog data is stored in the folder: ${TAGTOG_HOME}/persistent_data/. We recommend that you have periodic backups to avoid data losses. There are other folders in $TAGTOG_HOME, which nature, however, is temporary; you can nonetheless back up that too.


The application supports http proxies and automatically recognizes your host variables $http_proxy and $https_proxy (either written in both all lower or all upper case).


You can manually check for new tagtog updates on this link. Then:

./tagtog_on_premises update
./tagtog_on_premises restart latest $TAGTOG_HOME


Upon a problem, try one of the following solutions first.

If your issue or question is not resolved yet, shoot us directly an email: We are also happy to open a slack chat team with you for faster communication.

Please provide detailed information of the problem and send us always the container logs: docker logs tagtog_webapp_1 && docker logs tagtog_taskmanager_1.

Problems with docker container tagtog_taskmanager_1 or document uploading:


  1. Removing all queued documents for parsing: rm "$TAGTOG_HOME/tmp/to_process/*"
  2. Restarting the application: ./tagtog_on_premises restart latest $TAGTOG_HOME

Problems in an update


./tagtog_on_premises update
./tagtog_on_premises restart latest $TAGTOG_HOME

Wrong entity offsets on the display

On a few rare cases, the entity offsets from the underlying data model (ann.json) may not match those of the interface. This visually results in some seemingly-broken entities. You might try to fix these errors running the following script:

`./tagtog_on_premises fix_documents latest $TAGTOG_HOME`

Lack of writing file access

On some rare cases, the docker containers cannot hold writing access to the $TAGTOG_HOME folder and file hierarchy.

In this case, figure out why that could be the case. Anything related to your user not having enough rights?

Otherwise, a quick solution is:

  1. Grant all permissions to everybody: chmod 777 -r $TAGTOG_HOME
  2. Restart the application: ./tagtog_on_premises restart ...