Skip to content

Enable/Disable Modules

Of the 3 main modules integrated here, while the OCR-D Manager is mandatory, the OCR-D Controller and Kitodo.Production are optional (i.e. the may be run independently/remotely standalone, or not at all).

Compose profiles

You can tell Docker Compose whether to enable (i.e. start and stop) or disable (i.e. ignore) their associated services, simply by selecting profiles:

  • with-ocrd-controller profile enables OCR-D Controller service (ocrd-controller)
  • with-kitodo-production profile enables all Kitodo.Production services (kitodo-app, kitodo-db, kitodo-es and kitodo-mq)

Without the use of these profiles, only the services of OCR-D Manager module will be run (ocrd-manager, ocrd-monitor, ocrd-logview).

The most convenient way is by setting the environment variable COMPOSE_PROFILES in the shell. The default in the Makefile is:

COMPOSE_PROFILES=with-kitodo-production,with-ocrd-controller

i.e. both optional modules are enabled.

Setting any value in the shell will override that default when using make (and also allow using docker compose commands directly without make).

The following four possibilities arise:

export COMPOSE_PROFILES=                       # Running module OCR-D Manager only
export COMPOSE_PROFILES=with-ocrd-controller   # Running modules OCR-D Manager + OCR-D Controller
export COMPOSE_PROFILES=with-kitodo-production # Running modules OCR-D Manager + Kitodo.Production
export COMPOSE_PROFILES=with-kitodo-production,with-ocrd-controller # Running all modules

Note: Without the with-ocrd-controller profile, you must build, configure, start and stop the OCR-D Controller externally and possibly remotely.

In that case you must configure where the Manager can find that standalone Controller. For example, you may want to set:

export CONTROLLER_ENV_UID=$(id -u) CONTROLLER_HOST=ocrserver CONTROLLER_PORT_SSH=8022

Moreover, the Controller must have a SSH public key in its /.ssh/authorized_keys matching the private key used by the Manager.

For details, see section Configuring an external OCR D Controller instance of the Configure External page.

Note: Without the with-kitodo-production profile, you may want to build, configure, start and stop Kitodo.Production externally and possibly remotely.

In that case you must configure its OCRD_MANAGER environment variable, so it can find the Manager over the network. For example:

export OCRD_MANAGER=ocrd-server:9022 >> ~/.bashrc

Moreoever, the Manager must have a SSH public key in its /.ssh/authorized_keys matching the private key used by Kitodo.Production.

For details, see section Adapting an external Kitodo.Production instance of the Configure External page.