Skip to content

UB-Mannheim/kitodo-presentation-docker

Repository files navigation

Kitodo.Presentation docker

Docker configuration for Kitodo.Presentation.

Kitodo.Presentation

Kitodo.Presentation is a feature-rich framework for building a METS or IIIF based digital library. It is part of the Kitodo Digital Library Suite.

More Information about Kitodo.Presentation can be found on the official Git repository.

Kitodo. Digital Library Modules

Kitodo is an open source software suite intended to support mass digitization projects for cultural heritage institutions. Kitodo is widely used and cooperatively maintained by major German libraries and digitization service providers. The software implements international standards such as METS, MODS, ALTO, and other formats maintained by the Library of Congress. Kitodo consists of several independent modules serving different purposes such as controlling the digitization workflow, enriching descriptive and structural metadata, and presenting the results to the public in a modern and convenient way.

For more information, visit the Kitodo homepage. You can also follow Kitodo News on Twitter.

Docker instructions

The Docker images were built by Mannheim University Library.

Select branch

There are different branches that serve to provide different installations. While the main branch always offers the latest presentation version, the others provide the following versions:

Presentation:

branch dfg-viewer presentation solr base image last update
main - newest 8.11.x typo3-v10 GitHub last commit (branch)
presentation-v4.x - 4.1.0 8.11.x typo3-v10 GitHub last commit (branch)
presentation-v3.x - 3.3.4 - typo3-v9 GitHub last commit (branch)

Presentation with DFG-Viewer:

branch dfg-viewer presentation solr base image last update
dfg-viewer-dev dev-master dev-master 8.11.x typo3-v10 GitHub last commit (branch)
dfg-viewer-6.x 6.0.0 4.1.0 8.11.x typo3-v10 GitHub last commit (branch)
dfg-viewer-6.x-ocr 6.x (with OCR-On-Demand) 4.x-ocr 8.11.x typo3-v10 GitHub last commit (branch)
dfg-viewer-5.3 5.3 3.3.4 - typo3-v9 GitHub last commit (branch)
dfg-viewer-5.3-ocr 5.3 (with OCR-On-Demand) 3.x-ocr 8.11.x typo3-v9 GitHub last commit (branch)

Checkout branch

git checkout <branchname>

Change credentials

Usernames and passwords for the database and TYPO3 backend are passed as environment variables and stored inside .env-File. It is of utmost importance to change these before productive use! Also the file should only be readable for root users.

Environment variables

There are 13 environment variables. 8 of them that can be set in the .env-File. First copy (or rename) .env.tmpl to .env and edit variables as needed (changing passwords like TYPO3_ADMIN_PASSWORD is recommended!).

The following table shows the default values and a short description.

MariaDB Variables:

Name Default Value Description
MARIADB_ROOT_PASSWORD 'rootpassword' MariaDB root password
MARIADB_USER typo3 MariaDB username
MARIADB_PASSWORD 'password' MariaDB user password

TYPO3 Variables:

Name Default Value Description
PORT 80 Local port for TYPO3
TYPO3_ADMIN_USER test TYPO3 admin username
TYPO3_ADMIN_PASSWORD 'test1234' TYPO3 admin password in ''
TYPO3_ADDITIONAL_CONFIGURATION false Set to true if you want to add additional configuration
PQDN localhost Partially qualified domain name (eg. www.test.de)
PHP_MEMORY_LIMIT 512M PHP memory limit

The other 5 variables are set in the docker-compose.yml and should not be changed.

solr

Apache Solr is an open-source search platform with full-text search, hit highlighting, faceted search and real-time indexing. To create an additional solr container use the docker profile with-solr when starting the containers.

Run images:

docker compose up

or with solr

docker compose --profile with-solr up

Ready:

TYPO3 backend can be accessed at: http://localhost/typo3/ (of whatever you set as PQDN)

Run further scripts:

You can customize your setup by adding additional scripts! Just throw them into /data/scripts/ and make sure they are ending with .sh. As soon as the entryscript has setup TYPO3 and the extensions it will run the additional scripts.
Because the scripts will be executed as root they can break the system!

You can temporally disable your scripts by changing the extension to something else like .off. You can even add more directories your scripts can refer to.

Code and User Feedback

Please file your bug reports to issues. Make sure that you are using the latest version of the software before sending a report.

This also means making sure that old docker caches/images/containers are not present before making a clean install:

  • no old typo3-docker images are present:
    • docker images should not show any typo3-docker image
    • otherwise remove it with docker rmi <image-ids>
  • no presentation-containers present:
    • docker container ls -a should not show any kitodo-presentation container
    • run docker compose down to "stop containes and remove containers, networks, volumes, and images created by docker compose up"
    • run docker rm <container_ID/NAME> if anything kitodo-presentation related still present
  • build without using cached layers (may take a while):
    • docker compose build --no-cache
Common practice:
  1. docker compose down or docker compose --profile with-solr down
  2. docker compose up --build or docker compose --profile with-solr up --build