- DSpace 6.x Docker Compose files: https://github.com/DSpace/DSpace/tree/dspace-6_x/dspace/src/main/docker-compose
- DSpace 7.x Docker Compose files: https://github.com/DSpace/DSpace/tree/master/dspace/src/main/docker-compose
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.
- 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.
- DuraSpace Webinar: DSpace Docker for Repository Managers: Running Any Version of DSpace from your Desktop
- Open Repositories 2019: Docker for DSpace – Lowering the Barrier of Entry for New Contributors
- Setting Up Docker
- Running DSpace with Docker Compose
- Creating automated builds for your DSpace contributions
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 |
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 |
- 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
Compose File | Host | Image | Notes |
---|---|---|---|
dspace-angular | dspace/dspace-angular-bare | ||
dspacedb | atmire/dspace-oracle | ||
dspace | dspace/dspace |
For more information, join our #dspace-docker channel on Dspace Slack.