Skip to content

Repository for developing and managing published Docker images for DSpace development

Notifications You must be signed in to change notification settings

nkobby/DSpace-Docker-Images

 
 

Repository files navigation

DSpace-Docker-Images

This repository contains the source code for Docker Images for the DSpace project.

  • 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 hopes to automate the build of Docker Images for each of the supported branches of the DSpace code base.
  • 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.

Tutorials


How is this Code Repository Organized?

DSpace Docker Overview Diagram

Published Images

This table lists the general purpose docker images supported by the DSpace project. These images are intended to support the testing and development of DSpace from a user's desktop.

Image Name Status DockerHub Sample Labels Comments
dspace-postgres-pgcrypto Published dspace/dspace-postgres-pgcrypto latest Postgres image for DSpace 6+. Also suitable for DSpace 4 and 5.
dspace-tomcat Published dspace/dspace-tomcat latest Used for manual deployment of DSpace. Tomcat + Ant image configured for DSpace.
Requires an ant deploy to become usable (otherwise tomcat will start with no DSpace webapps).
User must mount DSPACE_SRC in order to deploy.
dspace* Published dspace/dspace master

dspace-6_x

dspace-6.3
Tomcat + Ant with populated dspace-install directory.
DSpace code will be cloned and built during image build.
Image contains local.cfg and build.properties file suitable for the container.

*PR request in place to move this Dockerfile into the code branch
dspace-angular* Published dspace/dspace-angular latest Containerized Angular UI

*PR request in place to move this Dockerfile into the code branch
dspace-angular-bare Provisionally Published dspace/dspace-angular-bare latest Containerized Angular UI which allows you to mount a source directory_
dspace-oracle In Progress For DSpace / Oracle testing

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.

Compose File Host Image Volume Notes
dspace-compose Running a pre-built DSpace Image for testing purposes
dspacedb dspace/dspace-postgres-pgcrypto vol:/pgdata
dspace dspace/dspace vol:/assetstore
vol:/solr
dspace-ingest-compose Compose file designed to assist a user with repository configuration and data ingest.
dspacedb dspace/dspace-postgres-pgcrypto vol:/pgdata
dspace dspace/dspace vol:/assetstore
vol:/solr
mount:/ingest-tools
mount:/aip-dir AIP files mounted for ingest
dspace-dev-compose Runtime DSpace container. User will manually deploy code into the container.
dspacedb dspace/dspace-postgres-pgcrypto vol:/pgdata
dspace dspace/dspace vol:/assetstore
vol:/solr
mount:/dspace-src Source code is mounted
dspace7-compose Compose file to run the DSpace 7 REST API and Angular UI
dspacedb dspace/dspace-postgres-pgcrypto vol:/pgdata
dspace dspace/dspace vol:/assetstore
vol:/solr
dspace-angular dspace/dspace-angular mount: environment.dev.js REST API in Docker
angular-compose Compose file to run the DSpace 7 Angular UI with an External REST Service
dspace-angular dspace/dspace-angular mount: environment.dev.js REST API is external
angular-dev-compose Compose file to develop the DSpace 7 Angular UI with an External REST Service
dspace-angular dspace/dspace-angular-bare mount:/app Source code is mounted
mount: environment.dev.js REST API is external
dspace-oracle-compose Compose file for testing DSpace code with Oracle

Special Purpose Images

Published Images For Cloud Environments

This table lists DSpace Docker images that have been designed to run in specific cloud environments. An account for a specific cloud environment is necessary to utilize these images.

Image Name Status DockerHub Labels Compose Files Comments
dspace-codenvy-tomcat Published dspace-codenvy-tomcat latest Referenced by the Codenvy service
dspace-janitor-angular Developed Referenced by the Janitor service

Development Images (Source Code Only)

This table lists docker images that have been optimized for DSpace software development. These images may be more complex to utilize. These images require a local build from source code.

Image Name Status Compose Files Comments
dspace-angular-dev In progress in project dir Designed for Angular development, relies on an external REST API

More information

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

DSpace Docker Wiki Page

About

Repository for developing and managing published Docker images for DSpace development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.9%
  • Dockerfile 0.1%
  • Shell 0.0%
  • Vim Script 0.0%
  • JavaScript 0.0%
  • CSS 0.0%