Configure Modules
The following variables must be defined when starting the module service(s), respectively.
Note: By default this is done in
.env
file (with shell-like syntax). But any environment variable settings via shell ormake
call take precedence of.env
configuration. So for example, you cansource .env
and then customize the default values interactively. Alternatively, you can import a customized file, e.g.source .env.local
.)Note: When using the Makefile, some of the static settings in
.env
will always be overridden dynamically: To optimally match ownership and permissions of existing files with new data to be written, the UID and GID of theocrd
user on the Controller and Manager are taken from the host system.Note: If you do not want to
make build
the images yourself, but use the prebuilt images from GitHub Container Registry, then mind the image tag variables. Instead of the defaultlatest
development version, you may want to use a stable release: Just checkout the respective Git release, and.env
should already point to stable tags.
OCR-D Manager
Name | Default | Description |
---|---|---|
MANAGER_BASE_VERSION | latest | tag of ocrd/core from stage version |
MANAGER_IMAGE | ghcr.io/slub/ocrd_manager:latest | name and tag of image |
MANAGER_HOST | ocrd-manager | name/address of server (for Kitodo) |
MANAGER_PORT_SSH | 9022 | host-side port to exposed SSH server (for external Kitodo) |
MANAGER_PORT_WEB | 4004 | port of web endpoint |
MANAGER_ENV_UID | 1001 | user id of SSH user (id -u when using make ) |
MANAGER_ENV_GID | 1001 | group id of SSH user (id -g when using make ) |
MANAGER_ENV_UMASK | 0002 | ssh user specific permission mask |
MANAGER_KEYS | ./ocrd/manager/.ssh/authorized_keys |
file path with public SSH keys of users allowed to log in |
MANAGER_KEY | ./ocrd/manager/.ssh/id_rsa |
file path with private SSH key of internal ocrd user (should match one of CONTROLLER_KEYS ) |
MANAGER_DATA | ./kitodo/data/metadata |
persistent data volume to mount |
MANAGER_WORKFLOWS | ./_modules/ocrd_manager/workflows |
persistent volume for workflows |
It is allowed and realistic if MANAGER_DATA
is different from CONTROLLER_DATA
.
Input/output will be synchronized between them at runtime.
Currently, MANAGER_DATA
should be the same path as APP_DATA/metadata
(which could be just a NFS mountpoint on either side).
OCR-D Monitor
The OCR-D Manager module also includes an OCR-D Monitor service, which can also be configured here.
Name | Default | Description |
---|---|---|
MONITOR_IMAGE | ghcr.io/slub/ocrd_monitor:latest | name and tag of image |
MONITOR_HOST | ocrd-monitor | name/address of server |
MONITOR_PORT_WEB | 5000 | host-side port to exposed Web server |
MONITOR_PORT_LOG | 8088 | host-side port to exposed Dozzle (Docker log viewer) |
MONITOR_PORT_DBM | 8082 | host-side port to exposed OCR-D Database Management (Mongo Express) |
MONITOR_DB_ROOT_USER | root | root user of OCR-D database |
MONITOR_DB_ROOT_PASSWORD | root_password | root password of OCR-D database |
Currently, MONITOR_DATA
should be the same path as MANAGER_DATA
.
OCR-D Controller
(only relevant in profile with-ocrd-controller, see Enable/Disable Modules)
Name | Default | Description |
---|---|---|
CONTROLLER_BASE_VERSION | 2024-03-08 | tag of ocrd/all from stage version |
CONTROLLER_IMAGE | ghcr.io/slub/ocrd_controller:latest | name and tag of image |
CONTROLLER_HOST | ocrd-controller | name/address of server (for Manager/Monitor) |
CONTROLLER_PORT_SSH | 22 | SSH port (for Manager/Monitor) |
CONTROLLER_ENV_UID | 1001 | user id of SSH user (id -u when using make ) |
CONTROLLER_ENV_GID | 1001 | group id of SSH user (id -g when using make ) |
CONTROLLER_ENV_UMASK | 0002 | SSH user specific permission mask |
CONTROLLER_KEYS | ./ocrd/controller/.ssh/authorized_keys |
file path with public SSH keys of users allowed to log in |
CONTROLLER_DATA | ./ocrd/controller/data |
persistent data volume to mount |
CONTROLLER_MODELS | ./ocrd/controller/models |
path to persistent models (in ocrd-resources/ ) |
CONTROLLER_CONFIG | ./ocrd/controller/config |
path to persistent config (in ocrd/resources.yml ) |
CONTROLLER_WORKERS | 1 | number of workers for processing |
Kitodo.Production
(only relevant in profile with-kitodo-production, see Enable/Disable Modules)
Application
Name | Default | Description |
---|---|---|
APP_IMAGE | ghcr.io/slub/ocrd_kitodo/kitodo_production_ocrd:latest | name and tag of image |
APP_BUILD_CONTEXT | ./_modules/kitodo-production-docker/ |
directory of Dockerfile |
APP_BUILDER_GIT_REF | master | branch "ocrd-main" of git repository (cause using git as BUILDER_TYPE ) |
APP_BUILDER_GIT_REPOSITORY | kitodo/kitodo-production | repository of BUILDER_GIT_COMMIT (cause using git as BUILDER_TYPE ) |
APP_DATA | ./kitodo/data |
persistent volume of application data to mount, e.g. config and modules |
APP_KEY | ./kitodo/.ssh/id_rsa |
file path with private SSH key of ocrd user (should match one of MANAGER_KEYS ) |
APP_PORT | 8080 | host-side port of Kitodo.Production |
Database
Name | Default | Description |
---|---|---|
DB_IMAGE | mysql:8.0.32 | name and tag of image |
DB_HOST | kitodo-db | name/address of database (for Kitodo) |
DB_PORT | 3306 | host-side port to exposed database |
DB_ROOT_USER | root | |
DB_ROOT_PASSWORD | 1234 | root user password |
DB_NAME | kitodo | name of database used by Kitodo.Production |
DB_USER | kitodo | username to access database |
DB_USER_PASSWORD | kitodo | password used by username to access database |
Elastic Search
Name | Default | Description |
---|---|---|
ES_IMAGE | elasticsearch:7.17.8 | name and tag of image |
ES_HOST | kitodo-es | name/address of server (for Kitodo) |
ES_REST_PORT | 9200 | host-side port to REST API |
ES_NODE_PORT | 9300 | host-side port to inter-node protocol |
Active MQ
Name | Default | Description |
---|---|---|
MQ_IMAGE | ghcr.io/slub/kitodo-production-activemq:latest | name and tag of image |
MQ_HOST | kitodo-mq | name/address of server (for Kitodo/Manager) |
MQ_PORT | 61616 | host-side port to exposed TCP Transport |