Docker configuration for 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 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.
The Docker images were built by Mannheim University Library.
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:
branch | dfg-viewer | presentation | solr | base image | last update |
---|---|---|---|---|---|
main | - | newest | 8.11.x | typo3-v10 | |
presentation-v4.x | - | 4.1.0 | 8.11.x | typo3-v10 | |
presentation-v3.x | - | 3.3.4 | - | typo3-v9 |
branch | dfg-viewer | presentation | solr | base image | last update |
---|---|---|---|---|---|
dfg-viewer-dev | dev-master | dev-master | 8.11.x | typo3-v10 | |
dfg-viewer-6.x | 6.0.0 | 4.1.0 | 8.11.x | typo3-v10 | |
dfg-viewer-6.x-ocr | 6.x (with OCR-On-Demand) | 4.x-ocr | 8.11.x | typo3-v10 | |
dfg-viewer-5.3 | 5.3 | 3.3.4 | - | typo3-v9 | |
dfg-viewer-5.3-ocr | 5.3 (with OCR-On-Demand) | 3.x-ocr | 8.11.x | typo3-v9 |
git checkout <branchname>
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.
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.
Name | Default Value | Description |
---|---|---|
MARIADB_ROOT_PASSWORD | 'rootpassword' | MariaDB root password |
MARIADB_USER | typo3 | MariaDB username |
MARIADB_PASSWORD | 'password' | MariaDB user password |
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.
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.
docker compose up
or with solr
docker compose --profile with-solr up
TYPO3 backend can be accessed at: http://localhost/typo3/ (of whatever you set as PQDN)
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.
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 bydocker 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
docker compose down
ordocker compose --profile with-solr down
docker compose up --build
ordocker compose --profile with-solr up --build