Table of Contents |
---|
Resources
...
Warning |
---|
Published DSpace 7 Docker images are used for our demo sites. But, we highly recommend institutions analyze them prior to usage in Production. We do not have Docker in production experts on our current developer team. But, contributions/improvements to our Docker scripts are always welcome. |
...
This repository contains an issue list of enhancement ideas.
Published Docker Images
|
Published Docker Images
- DSpace 7
- Backend (REST API) images: https://hub.docker.com/
...
...
Technical Support and Project Communication
Open Issues
Issue 1 - Docker Build from GitHub source
Currently, our Docker images pull code from GitHub within the Dockerfile.
...
- dspace (see "dspace-7*" tags)
- Frontend (Angular UI) images:
...
...
...
Determine if the image builds can be simplified by passing the source code to Docker build.
Issue 2 - Docker Image Build Automation
Automate the creation of DSpace images as the DSpace/DSpace and DSpace/DSpace-Anuglar source code changes.
Option 1 - Create an Automated Build Trigger on Docker Hub
DockerHub allows you to configure builds based on source branches for a repository.
This is a supported solution.
Description
- Each time one of the supported branches of DSpace is updated, update an image to Docker Hub.
- Each time a release tag is created on GitHub, create a new image on Docker Hub.
- It is unclear if images could be generated for each PR
...
- dspace/dspace-angular (see "dspace-7*" tags)
- DSpace 6
- Images https://hub.docker.com/r/dspace/dspace (see "dspace-6_x-*" tags)
- DSpace 5
- Images https://hub.docker.com/r/dspace/dspace (see "dspace-5_x-*" tags)
Docker Image Source
- DSpace 7
- Backend (REST API) scripts at https://github.com/DSpace/DSpace/blob/main/dspace/src/main/docker-compose/README.md
- Frontend (Angular UI) scripts at https://github.com/DSpace/dspace-angular/blob/main/docker/README.md
- DSpace 6
- DSpace 5
- Older, unmaintained scripts available in https://github.com/DSpace-Labs/DSpace-Docker-Images (Use at own risk. They may or may not work anymore)
Technical Support and Project Communication
#dspace-docker Slack Channel or Support
Additional Resources
...
Requirements
- Move the Dockerfile from DSpace-Labs/DSpace-Docker-Images to DSpace/DSpace.
- Customize 4x branch to look for custom target/install dir.
- Grant DockerHub access to the DSpace GitHub org.
- See https://docs.docker.com/docker-hub/builds/ for an explanation.
- Consider a paid DockerHub account to expedite builds. Otherwise, builds might queue up.
- You can only trigger one build at a time and no more than one every five minutes. If you already have a build pending, or if you recently submitted a build request, Docker ignores new requests.
Option 2 - Add Docker Build Automation to Travis Build
This would likely be a home-grown solution and may not be fully supported.
https://ops.tips/blog/travis-ci-push-docker-image/
Description
- Each time Travis rebuilds a branch, update an image to Docker Hub.
- Each time Travis rebuilds a PR, update an image to Docker Hub
- This may generate a lot of images, but it could simplify testing
- Each time a release tag is created on GitHub, manually build a new image on Docker Hub.
- Unless there is a way to trigger this in travis as well
...
Updated on each successful Travis build
...
Updated on each successful Travis build
...
Updated on each successful Travis build
...
Updated on each successful Travis build
...
Requirements
...
- This may be needed
...
Issue 3 - Setting guidelines for team permissions on Docker Hub.
Currently, 4 users have admin rights to the DSpace Docker registry.
Consider granting image-specific permissions to particular teams.
Issue 4 - Exploring new opportunities build on DSpace images
The existence of published DSpace images might make it easier to host branch-specific DSpace images to facilitate PR testing and pre-release testing.
Currently, server level command line access is required to build and deploy a PR for testing. This often limits the potential pool of testers to the developer community.
If the deployment of a test environment for a PR could be automated, some user testing of PR's could be performed by repository managers and other users who do not have command line access t server resources.
Additional Resources
- Try out DSpace 7 (includes basic Docker instructions for DSpace 7)
- Older talks (these may all be outdated, but might be useful for basic concepts)