The "Presentation of Annotations in a Digital Object Repository Architecture" provides a sustainable, flexible and extensible IIIF image publishing and metadata development ecosystem.
This repository provides a Docker composition and demonstration for various Pandora Ecosystem components. To see an example of what Pandora can do, see this video
See also diagrams for the Pandora architecture and production process.
See this page for more information on getting started with Docker for your platform.
- This demo uses IPv6 networking. To enable this for your host's docker service, add this configuration to the
daemon.json
file:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
After installing one of the three variants of Docker and Docker Compose, verify that you have the Docker platform installed correctly. Obtain a command shell and run:
docker -v
docker-compose -v
If either of these commands fail to print out version information, then you'll need to troubleshoot your installation before moving forward. A recent version of Docker should suffice, but if you have trouble running the milestone with older versions of Docker, please let us know, and upgrade to the latest version before trying the milestone again.
To bring up the environment, you need to:
- Install Docker and verify the installation (above)
- Retrieve the
docker-compose.yml
file for this demo.
-
Clone this git repository:
git clone https://github.com/pan-dora/pandora-demo.git.
This will create a directory pandora-demo
cd
into the directory containing the docker-compose file- Create a docker host data directories in
/mnt/pandora-data/
. This will persist all user entered data. Note that you will have to uncomment these lines in the docker-compose.yml for this to happen. - Invoke
docker-compose up
to run in foreground (useful for interactive monitoring) (or add -d for daemonized to run in the background)
Depending on the speed of your platform, it may take some time for the containers to download and to start. Total size is ~8GB.
The containers should only be downloaded once.
Subsequent invocation of docker-compose
should be faster, since the images will not need to be downloaded.
Note: To destroy the environment, run docker-compose down
; this will stop all services and remove all data, such that the next time you start the environment, it will be starting up from scratch. To stop the environment, run docker-compose stop
; this will shut down the environment, but keep the data so that you can resume where you left off. Use docker-compose up -d
to start or re-start the environment.
- Visit
http://localhost:3099/{$collection}/{$object}
and see your manifest - Visit
http://localhost:8080/fcrepo/rest
and see the Fedora REST API web page - Visit
http://localhost:3030/fuseki
and see the SPARQL endpoint - Visit
http://localhost:5004
and see the Loris Image Server default response - Visit
http://localhost:8181/activemqweb
and see the ActiveMQ console - Visit
http://localhost:9001
and see the Universal Viewer - Visit
http://localhost:9000
and see Mirador SUL
Once you can verify that the environment is up and working, you may read the wiki or move on to some of the sample tutorials.
This demonstration depends on the following images that will be run in containers orchestrated by docker-compose:
-
fcrepo
- Provides a Fedora 4.8.0 configured for external ActiveMQ JMS Queue Integration. -
fuseki
- Provides a triplestore -
apix-sparqler-public-api
- a node JS app that serves and caches SPARQL query responses provided by the apix-sparqler extension -
loris
- An IIIF Image API 2.0 image server that supports JP2 decompression -
universal viewer
- A IIIF viewer web app client -
mirador SUL
- A IIIF viewer with a persistent annotation store.
These primary APIX service containers (karaf) are also included in the docker-compose file:
See individual repositories for the docker image builds and DSL sources.
- See the modeller. A client tool that facilitates data ingest and packaging.
- Api-X does not have a mechanism to reinitialize the service registry after the service loader has registered the extensions.
Thus, please stop and restart the composition before loading data.
The current project build depends on outstanding software development projects (by others).
Including (but not limited to):