Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Technical Support and Project CommunicationCommunication 

#dspace-docker Slack Channel

Open Issues

Issue 1 -

...

Move Dockerfile into DSpace/DSpace and DSpace/DSpace-Angular

This will reduce the need to retrieve source code from git, if the Dockerfile is already housed at the project root directory.

Issue 2 - Assume the Dockerfile Context has a full instance of source code

Currently, our Docker images pull code from GitHub within the Dockerfile.

Code Block
titleCurrent Docker Strategy
FROM alpine/git as clone
ARG DSPACE_BRANCH=dspace-6_x
ENV DSPACE_GIT https://github.com/DSpace/DSpace.git

WORKDIR /app

RUN git clone ${DSPACE_GIT} \
    && cd /app/DSpace \
    && git checkout ${DSPACE_BRANCH}


COPY local.cfg /app/DSpace
COPY build.properties /app/DSpace

FROM maven as build
WORKDIR /app
COPY --from=clone /app/DSpace /app
RUN mvn package

The Docker build command takes a git url as a parameter.  See https://docs.docker.com/engine/reference/commandline/build/

Determine if the image builds can be simplified by passing the source code to Docker build.

...

Some experimentation is still needed to verify this.

Code Block
titleSimplified Docker Strategy - assumes the file resides in the Code base
FROM maven as build
WORKDIR /app
# Add the full source dir into the image
ADD * /app/


# Some other strategy will be needed for inserting local.cfg and build.properties
COPY ??/local.cfg /app/
COPY ??/build.properties /app/

This will likely require the creation of a .dockerignore file for times when the build is run from a user's desktop

Code Block
title.dockerignore
.git/
.idea/
.settings/
*/target/
dspace/modules/*/target/

Issue 3 - Grant Docker Hub permissions within the DSpace GitHub organization

Terry has attempted to find another library tech open source project that has granted similar permissions.

Tim Donohue , do you know if one of the other DuraSpace projects has done this?

Issue 4 - Docker Image Build Automation

Automate the creation of DSpace images as the DSpace/DSpace and DSpace/DSpace-Anuglar source code changes.

...

  • Relocate the Dockerfile to source repo?
    • This may be needed
  • Create Docker Hub account for DSpace (user not org).  Embed Docker Hub user credentials within Travis.
  • Evaluate the performance impact on the Travis build
  • Determine any limitations on the number of images that can be pushed to Docker Hub

Issue

...

5 - 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

...

6 - 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.

...