Skip to content

Commit 90a29bf

Browse files
LUC065-364 rebase
1 parent 6663d8a commit 90a29bf

1,864 files changed

Lines changed: 80530 additions & 34999 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Dockerfile

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
# This image will be published as dspace/dspace
22
# See https://github.com/DSpace/DSpace/tree/main/dspace/src/main/docker for usage details
33
#
4-
# - note: default tag for branch: dspace/dspace: dspace/dspace:dspace-7_x
4+
# - note: default tag for branch: dspace/dspace: dspace/dspace:dspace-8_x
55

6-
# This Dockerfile uses JDK11 by default, but has also been tested with JDK17.
7-
# To build with JDK17, use "--build-arg JDK_VERSION=17"
8-
ARG JDK_VERSION=11
6+
# This Dockerfile uses JDK17 by default.
7+
# To build with other versions, use "--build-arg JDK_VERSION=[value]"
8+
ARG JDK_VERSION=17
9+
# The Docker version tag to build from
10+
ARG DSPACE_VERSION=dspace-8_x
11+
# The Docker registry to use for DSpace images. Defaults to "docker.io"
12+
# NOTE: non-DSpace images are hardcoded to use "docker.io" and are not impacted by this build argument
13+
ARG DOCKER_REGISTRY=docker.io
914

1015
# Step 1 - Run Maven Build
11-
FROM dspace/dspace-dependencies:dspace-7_x as build
16+
FROM ${DOCKER_REGISTRY}/dspace/dspace-dependencies:${DSPACE_VERSION} AS build
1217
ARG TARGET_DIR=dspace-installer
1318
WORKDIR /app
1419
# The dspace-installer directory will be written to /install
@@ -18,50 +23,51 @@ RUN mkdir /install \
1823
USER dspace
1924
# Copy the DSpace source code (from local machine) into the workdir (excluding .dockerignore contents)
2025
ADD --chown=dspace . /app/
21-
# Build DSpace (note: this build doesn't include the optional, deprecated "dspace-rest" webapp)
26+
# Build DSpace
2227
# Copy the dspace-installer directory to /install. Clean up the build to keep the docker image small
23-
RUN mvn --no-transfer-progress package && \
28+
# Maven flags here ensure that we skip building test environment and skip all code verification checks.
29+
# These flags speed up this compilation as much as reasonably possible.
30+
ENV MAVEN_FLAGS="-P-test-environment -Denforcer.skip=true -Dcheckstyle.skip=true -Dlicense.skip=true -Dxml.skip=true"
31+
RUN mvn --no-transfer-progress package ${MAVEN_FLAGS} && \
2432
mv /app/dspace/target/${TARGET_DIR}/* /install && \
2533
mvn clean
34+
# Remove the server webapp to keep image small.
35+
RUN rm -rf /install/webapps/server/
2636

2737
# Step 2 - Run Ant Deploy
28-
FROM openjdk:${JDK_VERSION}-slim as ant_build
38+
FROM docker.io/eclipse-temurin:${JDK_VERSION} AS ant_build
2939
ARG TARGET_DIR=dspace-installer
3040
# COPY the /install directory from 'build' container to /dspace-src in this container
3141
COPY --from=build /install /dspace-src
3242
WORKDIR /dspace-src
3343
# Create the initial install deployment using ANT
34-
ENV ANT_VERSION 1.10.13
35-
ENV ANT_HOME /tmp/ant-$ANT_VERSION
36-
ENV PATH $ANT_HOME/bin:$PATH
37-
# Need wget to install ant
38-
RUN apt-get update \
39-
&& apt-get install -y --no-install-recommends wget \
40-
&& apt-get purge -y --auto-remove \
41-
&& rm -rf /var/lib/apt/lists/*
44+
ENV ANT_VERSION=1.10.13
45+
ENV ANT_HOME=/tmp/ant-$ANT_VERSION
46+
ENV PATH=$ANT_HOME/bin:$PATH
4247
# Download and install 'ant'
4348
RUN mkdir $ANT_HOME && \
44-
wget -qO- "https://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C $ANT_HOME
49+
curl --silent --show-error --location --fail --retry 5 --output /tmp/apache-ant.tar.gz \
50+
https://archive.apache.org/dist/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz && \
51+
tar -zx --strip-components=1 -f /tmp/apache-ant.tar.gz -C $ANT_HOME && \
52+
rm /tmp/apache-ant.tar.gz
4553
# Run necessary 'ant' deploy scripts
4654
RUN ant init_installation update_configs update_code update_webapps
4755

48-
# Step 3 - Run tomcat
49-
# Create a new tomcat image that does not retain the the build directory contents
50-
FROM tomcat:9-jdk${JDK_VERSION}
56+
# Step 3 - Start up DSpace via Runnable JAR
57+
FROM docker.io/eclipse-temurin:${JDK_VERSION}
5158
# NOTE: DSPACE_INSTALL must align with the "dspace.dir" default configuration.
5259
ENV DSPACE_INSTALL=/dspace
53-
# Copy the /dspace directory from 'ant_build' containger to /dspace in this container
60+
# Copy the /dspace directory from 'ant_build' container to /dspace in this container
5461
COPY --from=ant_build /dspace $DSPACE_INSTALL
55-
# Expose Tomcat port and AJP port
56-
EXPOSE 8080 8009
62+
WORKDIR $DSPACE_INSTALL
63+
# Need host command for "[dspace]/bin/make-handle-config"
64+
RUN apt-get update \
65+
&& apt-get install -y --no-install-recommends host \
66+
&& apt-get purge -y --auto-remove \
67+
&& rm -rf /var/lib/apt/lists/*
68+
# Expose Tomcat port (8080) & Handle Server HTTP port (8000)
69+
EXPOSE 8080 8000
5770
# Give java extra memory (2GB)
5871
ENV JAVA_OPTS=-Xmx2000m
59-
60-
# Link the DSpace 'server' webapp into Tomcat's webapps directory.
61-
# This ensures that when we start Tomcat, it runs from /server path (e.g. http://localhost:8080/server/)
62-
RUN ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/server
63-
# If you wish to run "server" webapp off the ROOT path, then comment out the above RUN, and uncomment the below RUN.
64-
# You also MUST update the 'dspace.server.url' configuration to match.
65-
# Please note that server webapp should only run on one path at a time.
66-
#RUN mv /usr/local/tomcat/webapps/ROOT /usr/local/tomcat/webapps/ROOT.bk && \
67-
# ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/ROOT
72+
# On startup, run DSpace Runnable JAR
73+
ENTRYPOINT ["java", "-jar", "webapps/server-boot.jar", "--dspace.dir=$DSPACE_INSTALL"]

Dockerfile.cli

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
# This image will be published as dspace/dspace-cli
22
# See https://github.com/DSpace/DSpace/tree/main/dspace/src/main/docker for usage details
33
#
4-
# - note: default tag for branch: dspace/dspace-cli: dspace/dspace-cli:dspace-7_x
4+
# - note: default tag for branch: dspace/dspace-cli: dspace/dspace-cli:dspace-8_x
55

6-
# This Dockerfile uses JDK11 by default, but has also been tested with JDK17.
7-
# To build with JDK17, use "--build-arg JDK_VERSION=17"
8-
ARG JDK_VERSION=11
6+
# This Dockerfile uses JDK17 by default.
7+
# To build with other versions, use "--build-arg JDK_VERSION=[value]"
8+
ARG JDK_VERSION=17
9+
# The Docker version tag to build from
10+
ARG DSPACE_VERSION=dspace-8_x
11+
# The Docker registry to use for DSpace images. Defaults to "docker.io"
12+
# NOTE: non-DSpace images are hardcoded to use "docker.io" and are not impacted by this build argument
13+
ARG DOCKER_REGISTRY=docker.io
914

1015
# Step 1 - Run Maven Build
11-
FROM dspace/dspace-dependencies:dspace-7_x as build
16+
FROM ${DOCKER_REGISTRY}/dspace/dspace-dependencies:${DSPACE_VERSION} AS build
1217
ARG TARGET_DIR=dspace-installer
1318
WORKDIR /app
1419
# The dspace-installer directory will be written to /install
@@ -24,31 +29,34 @@ RUN mvn --no-transfer-progress package && \
2429
mvn clean
2530

2631
# Step 2 - Run Ant Deploy
27-
FROM openjdk:${JDK_VERSION}-slim as ant_build
32+
FROM docker.io/eclipse-temurin:${JDK_VERSION} AS ant_build
2833
ARG TARGET_DIR=dspace-installer
2934
# COPY the /install directory from 'build' container to /dspace-src in this container
3035
COPY --from=build /install /dspace-src
3136
WORKDIR /dspace-src
3237
# Create the initial install deployment using ANT
33-
ENV ANT_VERSION 1.10.13
34-
ENV ANT_HOME /tmp/ant-$ANT_VERSION
35-
ENV PATH $ANT_HOME/bin:$PATH
36-
# Need wget to install ant, and unzip for managing AIPs
37-
RUN apt-get update \
38-
&& apt-get install -y --no-install-recommends wget unzip \
39-
&& apt-get purge -y --auto-remove \
40-
&& rm -rf /var/lib/apt/lists/*
38+
ENV ANT_VERSION=1.10.13
39+
ENV ANT_HOME=/tmp/ant-$ANT_VERSION
40+
ENV PATH=$ANT_HOME/bin:$PATH
4141
# Download and install 'ant'
4242
RUN mkdir $ANT_HOME && \
43-
wget -qO- "https://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C $ANT_HOME
43+
curl --silent --show-error --location --fail --retry 5 --output /tmp/apache-ant.tar.gz \
44+
https://archive.apache.org/dist/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz && \
45+
tar -zx --strip-components=1 -f /tmp/apache-ant.tar.gz -C $ANT_HOME && \
46+
rm /tmp/apache-ant.tar.gz
4447
# Run necessary 'ant' deploy scripts
4548
RUN ant init_installation update_configs update_code
4649

4750
# Step 3 - Run jdk
48-
FROM openjdk:${JDK_VERSION}
51+
FROM docker.io/eclipse-temurin:${JDK_VERSION}
4952
# NOTE: DSPACE_INSTALL must align with the "dspace.dir" default configuration.
5053
ENV DSPACE_INSTALL=/dspace
5154
# Copy the /dspace directory from 'ant_build' container to /dspace in this container
5255
COPY --from=ant_build /dspace $DSPACE_INSTALL
5356
# Give java extra memory (1GB)
5457
ENV JAVA_OPTS=-Xmx1000m
58+
# Install unzip for AIPs
59+
RUN apt-get update \
60+
&& apt-get install -y --no-install-recommends unzip \
61+
&& apt-get purge -y --auto-remove \
62+
&& rm -rf /var/lib/apt/lists/*

Dockerfile.dependencies

Lines changed: 56 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,77 @@
22
# The purpose of this image is to make the build for dspace/dspace run faster
33
#
44

5-
# This Dockerfile uses JDK11 by default, but has also been tested with JDK17.
6-
# To build with JDK17, use "--build-arg JDK_VERSION=17"
7-
ARG JDK_VERSION=11
5+
# This Dockerfile uses JDK17 by default.
6+
# To build with other versions, use "--build-arg JDK_VERSION=[value]"
7+
ARG JDK_VERSION=17
88

9-
# Step 1 - Run Maven Build
10-
FROM maven:3-openjdk-${JDK_VERSION}-slim as build
9+
# Step 1 - Download all Dependencies
10+
FROM docker.io/maven:3-eclipse-temurin-${JDK_VERSION} AS build
1111
ARG TARGET_DIR=dspace-installer
1212
WORKDIR /app
1313
# Create the 'dspace' user account & home directory
1414
RUN useradd dspace \
1515
&& mkdir -p /home/dspace \
1616
&& chown -Rv dspace: /home/dspace
1717
RUN chown -Rv dspace: /app
18-
# Need git to support buildnumber-maven-plugin, which lets us know what version of DSpace is being run.
19-
RUN apt-get update \
20-
&& apt-get install -y --no-install-recommends git \
21-
&& apt-get purge -y --auto-remove \
22-
&& rm -rf /var/lib/apt/lists/*
2318

2419
# Switch to dspace user & run below commands as that user
2520
USER dspace
2621

27-
# Copy the DSpace source code (from local machine) into the workdir (excluding .dockerignore contents)
28-
ADD --chown=dspace . /app/
22+
# This next part may look odd, but it speeds up the build of this image *significantly*.
23+
# Copy ONLY the POMs to this image (from local machine). This will allow us to download all dependencies *without*
24+
# performing any code compilation steps.
25+
26+
# Parent POM
27+
ADD --chown=dspace pom.xml /app/
28+
RUN mkdir -p /app/dspace
29+
30+
# 'dspace' module POM. Includes 'additions' ONLY, as it's the only submodule that is required to exist.
31+
ADD --chown=dspace dspace/pom.xml /app/dspace/
32+
RUN mkdir -p /app/dspace/modules/
33+
ADD --chown=dspace dspace/modules/pom.xml /app/dspace/modules/
34+
RUN mkdir -p /app/dspace/modules/additions
35+
ADD --chown=dspace dspace/modules/additions/pom.xml /app/dspace/modules/additions/
36+
37+
# 'dspace-api' module POM
38+
RUN mkdir -p /app/dspace-api
39+
ADD --chown=dspace dspace-api/pom.xml /app/dspace-api/
40+
41+
# 'dspace-iiif' module POM
42+
RUN mkdir -p /app/dspace-iiif
43+
ADD --chown=dspace dspace-iiif/pom.xml /app/dspace-iiif/
44+
45+
# 'dspace-oai' module POM
46+
RUN mkdir -p /app/dspace-oai
47+
ADD --chown=dspace dspace-oai/pom.xml /app/dspace-oai/
48+
49+
# 'dspace-rdf' module POM
50+
RUN mkdir -p /app/dspace-rdf
51+
ADD --chown=dspace dspace-rdf/pom.xml /app/dspace-rdf/
52+
53+
# 'dspace-server-webapp' module POM
54+
RUN mkdir -p /app/dspace-server-webapp
55+
ADD --chown=dspace dspace-server-webapp/pom.xml /app/dspace-server-webapp/
56+
57+
# 'dspace-services' module POM
58+
RUN mkdir -p /app/dspace-services
59+
ADD --chown=dspace dspace-services/pom.xml /app/dspace-services/
60+
61+
# 'dspace-sword' module POM
62+
RUN mkdir -p /app/dspace-sword
63+
ADD --chown=dspace dspace-sword/pom.xml /app/dspace-sword/
64+
65+
# 'dspace-swordv2' module POM
66+
RUN mkdir -p /app/dspace-swordv2
67+
ADD --chown=dspace dspace-swordv2/pom.xml /app/dspace-swordv2/
2968

3069
# Trigger the installation of all maven dependencies (hide download progress messages)
31-
RUN mvn --no-transfer-progress package
70+
# Maven flags here ensure that we skip final assembly, skip building test environment and skip all code verification checks.
71+
# These flags speed up this installation and skip tasks we cannot perform as we don't have the full source code.
72+
ENV MAVEN_FLAGS="-P-assembly -P-test-environment -Denforcer.skip=true -Dcheckstyle.skip=true -Dlicense.skip=true -Dxjc.skip=true -Dxml.skip=true"
73+
RUN mvn --no-transfer-progress verify ${MAVEN_FLAGS}
3274

33-
# Clear the contents of the /app directory (including all maven builds), so no artifacts remain.
75+
# Clear the contents of the /app directory (including all maven target folders), so no artifacts remain.
3476
# This ensures when dspace:dspace is built, it will use the Maven local cache (~/.m2) for dependencies
3577
USER root
3678
RUN rm -rf /app/*

Dockerfile.test

Lines changed: 38 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
# This image will be published as dspace/dspace
22
# See https://github.com/DSpace/DSpace/tree/main/dspace/src/main/docker for usage details
33
#
4-
# - note: default tag for branch: dspace/dspace: dspace/dspace:dspace-7_x-test
4+
# - note: default tag for branch: dspace/dspace: dspace/dspace:8_x-test
55
#
66
# This image is meant for TESTING/DEVELOPMENT ONLY as it deploys the old v6 REST API under HTTP (not HTTPS)
77

8-
# This Dockerfile uses JDK11 by default, but has also been tested with JDK17.
9-
# To build with JDK17, use "--build-arg JDK_VERSION=17"
10-
ARG JDK_VERSION=11
8+
# This Dockerfile uses JDK17 by default.
9+
# To build with other versions, use "--build-arg JDK_VERSION=[value]"
10+
ARG JDK_VERSION=17
11+
# The Docker version tag to build from
12+
ARG DSPACE_VERSION=dspace-8_x
13+
# The Docker registry to use for DSpace images. Defaults to "docker.io"
14+
# NOTE: non-DSpace images are hardcoded to use "docker.io" and are not impacted by this build argument
15+
ARG DOCKER_REGISTRY=docker.io
1116

1217
# Step 1 - Run Maven Build
13-
FROM dspace/dspace-dependencies:dspace-7_x as build
18+
FROM ${DOCKER_REGISTRY}/dspace/dspace-dependencies:${DSPACE_VERSION} AS build
1419
ARG TARGET_DIR=dspace-installer
1520
WORKDIR /app
1621
# The dspace-installer directory will be written to /install
@@ -20,63 +25,50 @@ RUN mkdir /install \
2025
USER dspace
2126
# Copy the DSpace source code (from local machine) into the workdir (excluding .dockerignore contents)
2227
ADD --chown=dspace . /app/
23-
# Build DSpace (INCLUDING the optional, deprecated "dspace-rest" webapp)
28+
# Build DSpace
2429
# Copy the dspace-installer directory to /install. Clean up the build to keep the docker image small
25-
RUN mvn --no-transfer-progress package -Pdspace-rest && \
30+
RUN mvn --no-transfer-progress package && \
2631
mv /app/dspace/target/${TARGET_DIR}/* /install && \
2732
mvn clean
33+
# Remove the server webapp to keep image small. Rename runnable JAR to server-boot.jar.
34+
RUN rm -rf /install/webapps/server/
2835

2936
# Step 2 - Run Ant Deploy
30-
FROM openjdk:${JDK_VERSION}-slim as ant_build
37+
FROM docker.io/eclipse-temurin:${JDK_VERSION} AS ant_build
3138
ARG TARGET_DIR=dspace-installer
3239
# COPY the /install directory from 'build' container to /dspace-src in this container
3340
COPY --from=build /install /dspace-src
3441
WORKDIR /dspace-src
3542
# Create the initial install deployment using ANT
36-
ENV ANT_VERSION 1.10.12
37-
ENV ANT_HOME /tmp/ant-$ANT_VERSION
38-
ENV PATH $ANT_HOME/bin:$PATH
39-
# Need wget to install ant
40-
RUN apt-get update \
41-
&& apt-get install -y --no-install-recommends wget \
42-
&& apt-get purge -y --auto-remove \
43-
&& rm -rf /var/lib/apt/lists/*
43+
ENV ANT_VERSION=1.10.12
44+
ENV ANT_HOME=/tmp/ant-$ANT_VERSION
45+
ENV PATH=$ANT_HOME/bin:$PATH
4446
# Download and install 'ant'
4547
RUN mkdir $ANT_HOME && \
46-
wget -qO- "https://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C $ANT_HOME
48+
curl --silent --show-error --location --fail --retry 5 --output /tmp/apache-ant.tar.gz \
49+
https://archive.apache.org/dist/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz && \
50+
tar -zx --strip-components=1 -f /tmp/apache-ant.tar.gz -C $ANT_HOME && \
51+
rm /tmp/apache-ant.tar.gz
4752
# Run necessary 'ant' deploy scripts
4853
RUN ant init_installation update_configs update_code update_webapps
4954

50-
# Step 3 - Run tomcat
51-
# Create a new tomcat image that does not retain the the build directory contents
52-
FROM tomcat:9-jdk${JDK_VERSION}
55+
# Step 3 - Start up DSpace via Runnable JAR
56+
FROM docker.io/eclipse-temurin:${JDK_VERSION}
57+
# NOTE: DSPACE_INSTALL must align with the "dspace.dir" default configuration.
5358
ENV DSPACE_INSTALL=/dspace
54-
ENV TOMCAT_INSTALL=/usr/local/tomcat
55-
# Copy the /dspace directory from 'ant_build' containger to /dspace in this container
59+
# Copy the /dspace directory from 'ant_build' container to /dspace in this container
5660
COPY --from=ant_build /dspace $DSPACE_INSTALL
57-
# Enable the AJP connector in Tomcat's server.xml
58-
# NOTE: secretRequired="false" should only be used when AJP is NOT accessible from an external network. But, secretRequired="true" isn't supported by mod_proxy_ajp until Apache 2.5
59-
RUN sed -i '/Service name="Catalina".*/a \\n <Connector protocol="AJP/1.3" port="8009" address="0.0.0.0" redirectPort="8443" URIEncoding="UTF-8" secretRequired="false" />' $TOMCAT_INSTALL/conf/server.xml
60-
# Expose Tomcat port and AJP port
61-
EXPOSE 8080 8009 8000
61+
WORKDIR $DSPACE_INSTALL
62+
# Need host command for "[dspace]/bin/make-handle-config"
63+
RUN apt-get update \
64+
&& apt-get install -y --no-install-recommends host \
65+
&& apt-get purge -y --auto-remove \
66+
&& rm -rf /var/lib/apt/lists/*
67+
# Expose Tomcat port and debugging port
68+
EXPOSE 8080 8000
6269
# Give java extra memory (2GB)
6370
ENV JAVA_OPTS=-Xmx2000m
64-
# Set up debugging
65-
ENV CATALINA_OPTS=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000
66-
67-
# Link the DSpace 'server' webapp into Tomcat's webapps directory.
68-
# This ensures that when we start Tomcat, it runs from /server path (e.g. http://localhost:8080/server/)
69-
# Also link the v6.x (deprecated) REST API off the "/rest" path
70-
RUN ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/server && \
71-
ln -s $DSPACE_INSTALL/webapps/rest /usr/local/tomcat/webapps/rest
72-
# If you wish to run "server" webapp off the ROOT path, then comment out the above RUN, and uncomment the below RUN.
73-
# You also MUST update the 'dspace.server.url' configuration to match.
74-
# Please note that server webapp should only run on one path at a time.
75-
#RUN mv /usr/local/tomcat/webapps/ROOT /usr/local/tomcat/webapps/ROOT.bk && \
76-
# ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/ROOT && \
77-
# ln -s $DSPACE_INSTALL/webapps/rest /usr/local/tomcat/webapps/rest
78-
79-
# Overwrite the v6.x (deprecated) REST API's web.xml, so that we can run it on HTTP (defaults to requiring HTTPS)
80-
# WARNING: THIS IS OBVIOUSLY INSECURE. NEVER DO THIS IN PRODUCTION.
81-
COPY dspace/src/main/docker/test/rest_web.xml $DSPACE_INSTALL/webapps/rest/WEB-INF/web.xml
82-
RUN sed -i -e "s|\${dspace.dir}|$DSPACE_INSTALL|" $DSPACE_INSTALL/webapps/rest/WEB-INF/web.xml
71+
# enable JVM debugging via JDWP
72+
ENV JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
73+
# On startup, run DSpace Runnable JAR
74+
ENTRYPOINT ["java", "-jar", "webapps/server-boot.jar", "--dspace.dir=$DSPACE_INSTALL"]

0 commit comments

Comments
 (0)