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-controllerprofile enables OCR-D Controller service (ocrd-controller)with-kitodo-productionprofile enables all Kitodo.Production services (kitodo-app,kitodo-db,kitodo-esandkitodo-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-controllerprofile, 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=8022Moreover, the Controller must have a SSH public key in its
/.ssh/authorized_keysmatching 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-productionprofile, you may want to build, configure, start and stop Kitodo.Production externally and possibly remotely.In that case you must configure its
OCRD_MANAGERenvironment variable, so it can find the Manager over the network. For example:export OCRD_MANAGER=ocrd-server:9022 >> ~/.bashrcMoreoever, the Manager must have a SSH public key in its
/.ssh/authorized_keysmatching the private key used by Kitodo.Production.For details, see section Adapting an external Kitodo.Production instance of the Configure External page.