/DSpace-Docker-Images

**(OBSOLETE)** Repository for DSpace 4.x and 5.x Docker images. NO LONGER MAINTAINED

Primary LanguageShell

DSpace-Docker-Images


⚠️ DEPRECATED. This repository of Docker resources is ONLY valid for running DSpace 4.x and/or 5.x in a Docker-based development environment. DSpace 6.x and 7.x Docker compose files have been moved into the main https://github.com/DSpace/DSpace codebase (any old 6.x or 7.x compose files in this repository are unsupported & unmaintained)


This repository contains docker resources for the DSpace project.

  • Docker Compose files for DSpace 4x and 5x ONLY
  • Special purpose Docker Compose and Dockerfiles for DSpace
  • Tutorials for running DSpace with Docker and Docker Compose

References

  • Docker simplifies the installation requirements for hosting an application by running an application image (docker image) within a containerized environment (docker container).
  • Docker Hub is a registry of published application images.
  • The DSpace project has published a set of DSpace Images on DockerHub to simplify testing and development of the DSpace platform.
    • The project has automated the build of Docker Images for each of the supported branches of the DSpace code base (build details).
  • A Docker compose file is used to orchestrate the launch of interdependent containers.
    • For DSpace 4, 5 and 6, those containers are the database and tomcat (xmlui, jspui)
    • For DSpace 7, the containers are the database, tomcat (for the REST api), and Node (running the Angular UI)
  • The Docker compose file manages the allocation of docker volumes which persist the contents of the DSpace database and the DSpace assetstore.

Why Publish DSpace Images for Docker?

  • To enable users (developers and repository mangagers) to easily test the latest code from each of the supported branches of DSpace
  • To enable users (developers and repository mangagers) to easily test the code from each published release of DSpace
  • To simplify the installation requirements for developers wishing to contribute code to the DSpace platform
  • To simplify the management of multiple versions of DSpace (DSpace 5, 6, and 7) on a user's desktop
  • To simplify the management of applicaiton dependencies for DSpace 7 (database, REST API, Angular UI) on a user's desktop
  • Note: These images are intended for DSpace development purposes and are not appropriate for production use.

Workshops

Tutorials

References


Docker Images

This table lists the special purpose docker images supported by the DSpace project.

Image Name Repo Dockerfile Branches Comments
dspace/dspace-dependencies DSpace/DSpace Dockerfile.dependencies 4-7 Base image that optimizes the build of DSpace images by caching maven downloads
dspace/dspace DSpace/DSpace Dockerfile.* 4-7 Docker web app container
dspace/dspace-cli DSpace/DSpace Dockerfile.cli.* 6-7 Docker CLI container
dspace/dspace-postgres-pgcrypto:latest DSpace/DSpace dspace/src/main/docker/dspace-postgres-pgcrypto/Dockefile 5-7 Database container
dspace/dspace-postgres-pgcrypto:loadsql DSpace/DSpace dspace/src/main/docker/dspace-postgres-pgcrypto-curl/Dockefile 5-7 Database container that downloads and ingests a SQL dump
dspace/dspace-postgres-4x DSpace-Labs/DSpace-Docker-Images dockerfiles/dspace-postgres-4x/Dockefile 4 Database container
dspace/dspace-solr DSpace/DSpace dspace/src/main/docker/solr/Dockerfile 7 Standalone SOLR instance with DSpace schemas loaded
dspace/dspace-angular DSpace/DSpace-angular Dockerfile 7 Angular UI

Compose files

The following Docker Compose files can be used to simplify the management of DSpace components allowing a user to run an end-to-end DSpace instance from their desktop.

Version Scenario Repo Command line Comments
7x REST Run published images DSpace/DSpace docker-compose -p d7 up -d
7x REST Build REST DSpace/DSpace docker-compose -p d7 up -d --build
7x UI+REST Run published images DSpace/DSpace docker-compose -p d7 -f docker-compose.yml -f dspace/src/main/docker-compose/docker-compose-angular.yml up -d Can be run from DSpace or DSpace-angular
7x UI+REST Run published images DSpace/DSpace-angular docker-compose -p d7 -f docker-compose.yml -f docker/docker-compose-rest.yml up -d Can be run from DSpace or DSpace-angular
7x UI+REST Build REST DSpace/DSpace docker-compose -p d7 -f docker-compose.yml -f dspace/src/main/docker-compose/docker-compose-angular.yml up -d
7x UI+REST Build Angular DSpace/DSpace-angular docker-compose -p d7 -f docker-compose.yml -f docker/docker-compose-rest.yml up -d --build
7x UI+REST Build REST & Angular DSpace/DSpace docker-compose -p d7 up -d --build 2 step process
DSpace/DSpace-angular docker-compose -p d7 up -d --build 2 step process
6x Run published images DSpace/DSpace docker-compose -p d6 up -d
6x Build images DSpace/DSpace docker-compose -p d6 up -d --build
5x Run published images DSpace-Labs/DSpace-Docker-Images : docker-compose-files/dspace-compose docker-compose -p d5 -f docker-compose.yml -f d5.override.yml up -d
5x Build images DSpace-Labs/DSpace-Docker-Images : docker-compose-files/dspace-compose docker-compose -p d5 -f docker-compose.yml -f d5.override.yml -f src.override.yml up -d --build
4x Run published images DSpace-Labs/DSpace-Docker-Images : docker-compose-files/dspace-compose docker-compose -p d4 -f docker-compose.yml -f d4.override.yml up -d
4x Build images DSpace-Labs/DSpace-Docker-Images : docker-compose-files/dspace-compose docker-compose -p d4 -f docker-compose.yml -f d4.override.yml -f src.override.yml up -d --build
Other Special Cases DSpace-Labs/DSpace-Docker-Images : docker-compose-files/dspace-compose See Special Cases

Main DSpace Compose Files

DSpace Compose Files

  • Base DSpace Compose File: docker-compose.yml
  • DSpace 7 Compose File: d7.override.yml
  • DSpace 6 Compose File: d6.override.yml
  • DSpace 5 Compose File: d5.override.yml
  • DSpace 4 Compose File: d4.override.yml
  • DSpace RDF Compose File: rdf.override.yml
  • Oracle Compose File: oracle.override.yml
  • DSpace Local Build Compose File: src.override.yml

Special Purpose Compose files

Compose File Host Image Notes
dspace-angular dspace/dspace-angular-bare
dspacedb atmire/dspace-oracle
dspace dspace/dspace

More information

For more information, join our #dspace-docker channel on Dspace Slack.

DSpace Docker Wiki Page