This is an automated email from the ASF dual-hosted git repository.
piergiorgio pushed a commit to branch CONNECTORS-1754
in repository https://gitbox.apache.org/repos/asf/manifoldcf.git
The following commit(s) were added to refs/heads/CONNECTORS-1754 by this push:
new 09e5effab added Dockerfiles for building all the Release Images
(CONNECTORS-1754)
09e5effab is described below
commit 09e5effab4e8fd8a9277f0091a56e4d3c4a878a7
Author: Piergiorgio Lucidi <[email protected]>
AuthorDate: Fri Jun 28 12:10:24 2024 +0200
added Dockerfiles for building all the Release Images (CONNECTORS-1754)
---
.github/workflows/create-docker-image.yml | 136 ++++++++++++++++++++++++++++++
pom.xml | 6 --
src/main/docker/JDK-11/Dockerfile | 84 ++++++++++++++++++
src/main/docker/JDK-11/README.md | 15 ++++
src/main/docker/JDK-5/Dockerfile | 110 ++++++++++++++++++++++++
src/main/docker/JDK-5/README.md | 19 +++++
src/main/docker/JDK-6/Dockerfile | 104 +++++++++++++++++++++++
src/main/docker/JDK-6/README.md | 16 ++++
src/main/docker/JDK-7/Dockerfile | 116 +++++++++++++++++++++++++
src/main/docker/JDK-7/README.md | 15 ++++
src/main/docker/JDK-8/Dockerfile | 84 ++++++++++++++++++
src/main/docker/JDK-8/README.md | 15 ++++
12 files changed, 714 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/create-docker-image.yml
b/.github/workflows/create-docker-image.yml
new file mode 100644
index 000000000..5b6f79860
--- /dev/null
+++ b/.github/workflows/create-docker-image.yml
@@ -0,0 +1,136 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Create Docker Image
+run-name: ${{ github.actor }} is creating a new Docker Image
+permissions:
+ contents: write
+
+on:
+ workflow_dispatch:
+ release:
+ type: choice
+ description: Select the ManifoldCF release
+ options:
+ - 2.26-JDK-11 #Java 11
+ - 2.25-JDK-8
+ - 2.24-JDK-8
+ - 2.23-JDK-8
+ - 2.22-JDK-8
+ - 2.21-JDK-8
+ - 2.20-JDK-8
+ - 2.19-JDK-8
+ - 2.18-JDK-8
+ - 2.17-JDK-8
+ - 2.16-JDK-8
+ - 2.15-JDK-8
+ - 2.14-JDK-8
+ - 2.13-JDK-8
+ - 2.12-JDK-8
+ - 2.11-JDK-8
+ - 2.10-JDK-8
+ - 2.9-JDK-8
+ - 2.8-JDK-8
+ - 2.7-JDK-8 #Java 1.8
+ - 2.6-JDK-7
+ - 2.5-JDK-7
+ - 2.4-JDK-7
+ - 2.3-JDK-7
+ - 2.2-JDK-7
+ - 2.1-JDK-7
+ - 2.0-JDK-7
+ - 1.10-JDK-7 #Java 1.7
+
+jobs:
+ createDockerImage:
+ runs-on: ubuntu-22.04
+ steps:
+
+ - name: Extract MCF Release version
+ id: mcf
+ run: |
+ mcfrelease="${{ github.event.inputs.release }}"
+ set -- $mcfrelease
+ echo "release=${1%%-*}" >> $GITHUB_OUTPUT
+
+ - name: Extract JDK version
+ id: jdk
+ run: |
+ mcfrelease="${{ github.event.inputs.release }}"
+ set -- $mcfrelease
+ echo "version=${1##*-}" >> $GITHUB_OUTPUT
+
+ - name: Checkout the specific Dockerfile
+ uses: actions/[email protected]
+ with:
+ sparse-checkout: |
+ src/main/docker/${{ steps.jdk.outputs.version }}/Dockerfile
+ sparse-checkout-cone-mode: false
+
+ - name: Move the Dockerfile in the root folder
+ run: |
+ mv src/main/docker/${{ steps.jdk.outputs.version }}/Dockerfile ${{
github.workspace }}
+ echo ls ${{ github.workspace }}
+
+ - name: Download ManifoldCF ${{ steps.mcf.outputs.release }} distribution
+ run: |
+ wget https://dlcdn.apache.org/manifoldcf/apache-manifoldcf-${{
steps.mcf.outputs.release }}/apache-manifoldcf-${{ steps.mcf.outputs.release
}}-bin.tar.gz && \
+ tar -xzvf apache-manifoldcf-${{ steps.mcf.outputs.release
}}-bin.tar.gz && \
+ mv apache-manifoldcf-${{ steps.mcf.outputs.release }} dist && \
+ rm apache-manifoldcf-${{ steps.mcf.outputs.release }}-bin.tar.gz
+
+ - name: Set up QEMU
+ uses: docker/[email protected]
+
+ - name: Set up Docker Buildx
+ uses: docker/[email protected]
+
+ - name: Login to Docker Hub
+ uses: docker/[email protected]
+ with:
+ username: ${{ secrets.DOCKERHUB_USER }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Docker meta
+ id: meta
+ uses: docker/[email protected]
+ with:
+ images: apache/manifoldcf
+ labels: |
+ maintainer=Apache ManifoldCF Developers
<[email protected]>
+ org.opencontainers.image.title=Apache ManifoldCF
+ org.opencontainers.image.description=Apache ManifoldCF is a
multi-repository crawler framework, with multiple connectors.
+ org.opencontainers.image.vendor=Apache Software Foundation
+ org.opencontainers.image.ref.name=manifoldcf
+ org.opencontainers.image.authors=Apache ManifoldCF Developers
<[email protected]>
+
org.opencontainers.image.url=https://hub.docker.com/r/apache/manifoldcf
+
org.opencontainers.image.source=https://github.com/apache/manifoldcf/blob/trunk/Dockerfile
+
org.opencontainers.image.documentation=https://hub.docker.com/r/apache/manifoldcf
+ org.opencontainers.image.version=${{ steps.mcf.outputs.release }}
+ org.opencontainers.image.licenses=Apache-2.0
+
+ #- name: Build and push ManifoldCF Docker Image
+ # uses: docker/[email protected]
+ # with:
+ # context: .
+ # file: Dockerfile
+ # build-args: |
+ # MCF_VERSION=${{ steps.mcf.outputs.release }}
+ # platforms: linux/amd64,linux/arm64/v8
+ # push: true
+ # tags: apache/manifoldcf:latest,apache/manifoldcf:${{
steps.mcf.outputs.release }}
+ # labels: ${{ steps.meta.outputs.labels }}
diff --git a/pom.xml b/pom.xml
index 8b19978ff..94729679c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -183,7 +183,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.12.1</version>
<configuration>
<source>11</source>
<target>11</target>
@@ -194,7 +193,6 @@
<plugin>
<artifactId>maven-resources-plugin</artifactId>
- <version>3.3.1</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
@@ -202,7 +200,6 @@
<plugin>
<artifactId>maven-clean-plugin</artifactId>
- <version>3.3.2</version>
</plugin>
<plugin>
@@ -263,9 +260,6 @@
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <updateReleaseInfo>true</updateReleaseInfo>
- </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/src/main/docker/JDK-11/Dockerfile
b/src/main/docker/JDK-11/Dockerfile
new file mode 100644
index 000000000..bc89fb502
--- /dev/null
+++ b/src/main/docker/JDK-11/Dockerfile
@@ -0,0 +1,84 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM eclipse-temurin:11-jre-jammy
+LABEL maintainer="The Apache ManifoldCF Project"
+
+ARG MCF_VERSION="2.27-SNAPSHOT"
+
+ARG MCF_USER=manifoldcf
+ARG MCF_USER_ID=100001
+
+ARG MCF_GROUP=manifoldcf
+ARG MCF_GROUP_ID=100002
+
+ARG MCF_HOME=/usr/share/manifoldcf
+ARG MCF_PORT=8345
+
+RUN apt-get update && apt-get install -y iputils-ping && \
+ apt-get install -y dnsutils
+
+COPY dist/. ${MCF_HOME}/
+
+#Below the specific COPY instructions to configure a distribution without
propprietary artifacts
+#COPY dist/connector-build.xml ${MCF_HOME}/connector-build.xml
+#COPY dist/connectors.xml ${MCF_HOME}/connectors.xml
+#COPY dist/DEPENDENCIES.txt ${MCF_HOME}/DEPENDENCIES.txt
+#COPY dist/LICENSE.txt ${MCF_HOME}/LICENSE.txt
+#COPY dist/README.txt ${MCF_HOME}/README.txt
+
+#COPY dist/connector-common-lib ${MCF_HOME}/connector-common-lib
+#COPY dist/connector-lib ${MCF_HOME}/connector-lib
+#COPY dist/doc ${MCF_HOME}/doc
+#COPY dist/example ${MCF_HOME}/example
+#COPY dist/file-resources ${MCF_HOME}/file-resources
+#COPY dist/lib ${MCF_HOME}/lib
+#COPY dist/multiprocess-file-example ${MCF_HOME}/multiprocess-file-example
+#COPY dist/multiprocess-zk-example ${MCF_HOME}/multiprocess-zk-example
+#COPY dist/obfuscation-utility ${MCF_HOME}/obfuscation-utility
+#COPY dist/plugins/solr ${MCF_HOME}/plugins/solr
+#COPY dist/script-engine ${MCF_HOME}/script-engine
+#COPY dist/test-lib ${MCF_HOME}/test-lib
+#COPY dist/web/war ${MCF_HOME}/web/war
+
+LABEL maintainer="Apache ManifoldCF Developers <[email protected]>"
+LABEL org.opencontainers.image.title="Apache ManifoldCF"
+LABEL org.opencontainers.image.ref.name="manifoldcf"
+LABEL org.opencontainers.image.description="Apache ManifoldCF is a
multi-repository crawler framework, with multiple connectors."
+LABEL org.opencontainers.image.authors="Apache ManifoldCF Developers
<[email protected]>"
+LABEL org.opencontainers.image.url="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.source="https://github.com/apache/manifoldcf"
+LABEL
org.opencontainers.image.documentation="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.version="${MCF_VERSION}"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+LABEL org.opencontainers.image.vendor="Apache Software Foundation"
+
+ENV MCF_USER="manifoldcf"
+ENV MCF_USER_ID="100001"
+ENV MCF_GROUP="manifoldcf"
+ENV MCF_GROUP_ID="100002"
+ENV MCF_PORT="8345"
+
+RUN set -ex; \
+ groupadd -r --gid "$MCF_GROUP_ID" "$MCF_GROUP"; \
+ useradd -r --uid "$MCF_USER_ID" --gid "$MCF_GROUP_ID" "$MCF_USER"
+
+RUN chown ${MCF_USER}:${MCF_USER} -R ${MCF_HOME}
+RUN chmod +x ${MCF_HOME}/example/start.sh
+
+USER ${MCF_USER}
+EXPOSE ${MCF_PORT}
+WORKDIR ${MCF_HOME}/example
+CMD ["./start.sh"]
\ No newline at end of file
diff --git a/src/main/docker/JDK-11/README.md b/src/main/docker/JDK-11/README.md
new file mode 100644
index 000000000..1d19640dc
--- /dev/null
+++ b/src/main/docker/JDK-11/README.md
@@ -0,0 +1,15 @@
+# Building Apache ManifoldCF 2.26 Docker Image with Open JDK 11
+
+In order to build ManifoldCF from version 2.26 you have to:
+
+1. Download or build ManifoldCF 2.26 and be sure to have the dist folder in
the same folder of this Dockerfile
+2. Build the Docker image with the following command:
+
+ For version 2.26:
+
+ `docker build --build-arg="MCF_VERSION=2.26" --progress=plain . -t
apache/manifoldcf:2.26`
+
+4. Run ManifoldCF 2.25 with:
+
+`docker run -p 8345:8345 apache/manifoldcf:2.25`
+
diff --git a/src/main/docker/JDK-5/Dockerfile b/src/main/docker/JDK-5/Dockerfile
new file mode 100644
index 000000000..0b0f48b18
--- /dev/null
+++ b/src/main/docker/JDK-5/Dockerfile
@@ -0,0 +1,110 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM ubuntu:22.04
+LABEL maintainer="The Apache ManifoldCF Project"
+
+ARG MCF_VERSION="1.1"
+
+ARG MCF_USER=manifoldcf
+ARG MCF_USER_ID=100001
+
+ARG MCF_GROUP=manifoldcf
+ARG MCF_GROUP_ID=100002
+
+ARG MCF_HOME=/usr/share/manifoldcf
+ARG MCF_PORT=8345
+
+SHELL ["/bin/bash", "-c"]
+
+RUN apt-get update && apt-get install -y iputils-ping && \
+ apt-get install -y dnsutils && \
+ apt-get install -y wget
+
+WORKDIR /tmp
+
+#RUN \
+# cd /tmp ;\
+# /usr/bin/wget --no-cookies --no-check-certificate \
+# --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;
oraclelicense=accept-securebackup-cookie" \
+#
https://download.oracle.com/otn/java/jdk/1.5.0_22/jdk-1_5_0_22-linux-amd64.bin
+
+COPY jre-1_5_0_22-linux-amd64.bin /tmp/jre-1_5_0_22-linux-amd64.bin
+RUN chmod a+x jre-1_5_0_22-linux-amd64.bin
+
+WORKDIR /
+
+RUN mkdir -p /opt/jre-8
+RUN mv /tmp/jre-1_5_0_22-linux-amd64.bin
/opt/jre-8/jre-1_5_0_22-linux-amd64.bin
+RUN echo yes|sh ./opt/jre-8/jre-1_5_0_22-linux-amd64.bin
+
+ENV JAVA_HOME /jre1.5.0_22
+ENV PATH
/jre1.5.0_22/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+RUN export JAVA_HOME=/jre1.5.0_22
+RUN export
PATH=/jre1.5.0_22/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+RUN echo $JAVA_HOME
+
+COPY dist/. ${MCF_HOME}/
+
+#Below the specific COPY instructions to configure a distribution without
propprietary artifacts
+#COPY dist/connector-build.xml ${MCF_HOME}/connector-build.xml
+#COPY dist/connectors.xml ${MCF_HOME}/connectors.xml
+#COPY dist/DEPENDENCIES.txt ${MCF_HOME}/DEPENDENCIES.txt
+#COPY dist/LICENSE.txt ${MCF_HOME}/LICENSE.txt
+#COPY dist/README.txt ${MCF_HOME}/README.txt
+
+#COPY dist/connector-common-lib ${MCF_HOME}/connector-common-lib
+#COPY dist/connector-lib ${MCF_HOME}/connector-lib
+#COPY dist/doc ${MCF_HOME}/doc
+#COPY dist/example ${MCF_HOME}/example
+#COPY dist/file-resources ${MCF_HOME}/file-resources
+#COPY dist/lib ${MCF_HOME}/lib
+#COPY dist/multiprocess-file-example ${MCF_HOME}/multiprocess-file-example
+#COPY dist/multiprocess-zk-example ${MCF_HOME}/multiprocess-zk-example
+#COPY dist/obfuscation-utility ${MCF_HOME}/obfuscation-utility
+#COPY dist/plugins/solr ${MCF_HOME}/plugins/solr
+#COPY dist/script-engine ${MCF_HOME}/script-engine
+#COPY dist/test-lib ${MCF_HOME}/test-lib
+#COPY dist/web/war ${MCF_HOME}/web/war
+
+LABEL maintainer="Apache ManifoldCF Developers <[email protected]>"
+LABEL org.opencontainers.image.title="Apache ManifoldCF"
+LABEL org.opencontainers.image.ref.name="manifoldcf"
+LABEL org.opencontainers.image.description="Apache ManifoldCF is a
multi-repository crawler framework, with multiple connectors."
+LABEL org.opencontainers.image.authors="Apache ManifoldCF Developers
<[email protected]>"
+LABEL org.opencontainers.image.url="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.source="https://github.com/apache/manifoldcf"
+LABEL
org.opencontainers.image.documentation="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.version="${MCF_VERSION}"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+LABEL org.opencontainers.image.vendor="Apache Software Foundation"
+
+ENV MCF_USER="manifoldcf"
+ENV MCF_USER_ID="100001"
+ENV MCF_GROUP="manifoldcf"
+ENV MCF_GROUP_ID="100002"
+ENV MCF_PORT="8345"
+
+RUN set -ex; \
+ groupadd -r --gid "$MCF_GROUP_ID" "$MCF_GROUP"; \
+ useradd -r --uid "$MCF_USER_ID" --gid "$MCF_GROUP_ID" "$MCF_USER"
+
+RUN chown ${MCF_USER}:${MCF_USER} -R ${MCF_HOME}
+RUN chmod +x ${MCF_HOME}/example/start.sh
+
+USER ${MCF_USER}
+EXPOSE ${MCF_PORT}
+WORKDIR ${MCF_HOME}/example
+CMD ["./start.sh"]
\ No newline at end of file
diff --git a/src/main/docker/JDK-5/README.md b/src/main/docker/JDK-5/README.md
new file mode 100644
index 000000000..c33947665
--- /dev/null
+++ b/src/main/docker/JDK-5/README.md
@@ -0,0 +1,19 @@
+# Building Apache ManifoldCF 1.x Docker Image with Oracle JDK 1.5
+
+In order to build ManifoldCF from version 1.0 to 1.1 you have to:
+
+1. Download jre-1_5_0_22-linux-amd64.bin from the Oracle Portal and save it in
this folder
+2. Download or build ManifoldCF 1.x and be sure to have the dist folder in the
same folder of this Dockerfile
+3. Build the Docker image with the following command:
+
+ For version 1.0:
+
+ `docker build --build-arg="MCF_VERSION=1.0" --progress=plain --platform
linux/amd64 . -t apache/manifoldcf:1.0`
+
+ For version 1.1:
+
+ `docker build --build-arg="MCF_VERSION=1.1" --progress=plain --platform
linux/amd64 . -t apache/manifoldcf:1.1`
+
+4. Run ManifoldCF 1.1 with:
+
+`docker run -p 8345:8345 apache/manifoldcf:1.1`
\ No newline at end of file
diff --git a/src/main/docker/JDK-6/Dockerfile b/src/main/docker/JDK-6/Dockerfile
new file mode 100644
index 000000000..c68c8776b
--- /dev/null
+++ b/src/main/docker/JDK-6/Dockerfile
@@ -0,0 +1,104 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM ubuntu:22.04
+LABEL maintainer="The Apache ManifoldCF Project"
+
+ARG MCF_VERSION="1.10"
+
+ARG MCF_USER=manifoldcf
+ARG MCF_USER_ID=100001
+
+ARG MCF_GROUP=manifoldcf
+ARG MCF_GROUP_ID=100002
+
+ARG MCF_HOME=/usr/share/manifoldcf
+ARG MCF_PORT=8345
+
+SHELL ["/bin/bash", "-c"]
+
+RUN apt-get update && apt-get install -y iputils-ping && \
+ apt-get install -y dnsutils && \
+ apt-get install -y wget && \
+ apt-get install -y alien
+
+WORKDIR /tmp
+COPY jre-6u45-linux-x64.bin /tmp/jre-6u45-linux-x64.bin
+RUN chmod a+x jre-6u45-linux-x64.bin
+
+WORKDIR /
+
+RUN mkdir -p /opt/jre-6
+RUN mv /tmp/jre-6u45-linux-x64.bin /opt/jre-6/jre-6u45-linux-x64.bin
+RUN echo yes|sh ./opt/jre-6/jre-6u45-linux-x64.bin
+
+ENV JAVA_HOME /jre1.6.0_45
+ENV PATH
/jre1.6.0_45/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+RUN export JAVA_HOME=/jre1.6.0_45
+RUN export
PATH=/jre1.6.0_45/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+RUN echo $JAVA_HOME
+
+COPY dist/. ${MCF_HOME}/
+
+#Below the specific COPY instructions to configure a distribution without
propprietary artifacts
+#COPY dist/connector-build.xml ${MCF_HOME}/connector-build.xml
+#COPY dist/connectors.xml ${MCF_HOME}/connectors.xml
+#COPY dist/DEPENDENCIES.txt ${MCF_HOME}/DEPENDENCIES.txt
+#COPY dist/LICENSE.txt ${MCF_HOME}/LICENSE.txt
+#COPY dist/README.txt ${MCF_HOME}/README.txt
+
+#COPY dist/connector-common-lib ${MCF_HOME}/connector-common-lib
+#COPY dist/connector-lib ${MCF_HOME}/connector-lib
+#COPY dist/doc ${MCF_HOME}/doc
+#COPY dist/example ${MCF_HOME}/example
+#COPY dist/file-resources ${MCF_HOME}/file-resources
+#COPY dist/lib ${MCF_HOME}/lib
+#COPY dist/multiprocess-file-example ${MCF_HOME}/multiprocess-file-example
+#COPY dist/multiprocess-zk-example ${MCF_HOME}/multiprocess-zk-example
+#COPY dist/obfuscation-utility ${MCF_HOME}/obfuscation-utility
+#COPY dist/plugins/solr ${MCF_HOME}/plugins/solr
+#COPY dist/script-engine ${MCF_HOME}/script-engine
+#COPY dist/test-lib ${MCF_HOME}/test-lib
+#COPY dist/web/war ${MCF_HOME}/web/war
+
+LABEL maintainer="Apache ManifoldCF Developers <[email protected]>"
+LABEL org.opencontainers.image.title="Apache ManifoldCF"
+LABEL org.opencontainers.image.ref.name="manifoldcf"
+LABEL org.opencontainers.image.description="Apache ManifoldCF is a
multi-repository crawler framework, with multiple connectors."
+LABEL org.opencontainers.image.authors="Apache ManifoldCF Developers
<[email protected]>"
+LABEL org.opencontainers.image.url="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.source="https://github.com/apache/manifoldcf"
+LABEL
org.opencontainers.image.documentation="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.version="${MCF_VERSION}"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+LABEL org.opencontainers.image.vendor="Apache Software Foundation"
+
+ENV MCF_USER="manifoldcf"
+ENV MCF_USER_ID="100001"
+ENV MCF_GROUP="manifoldcf"
+ENV MCF_GROUP_ID="100002"
+ENV MCF_PORT="8345"
+
+RUN set -ex; \
+ groupadd -r --gid "$MCF_GROUP_ID" "$MCF_GROUP"; \
+ useradd -r --uid "$MCF_USER_ID" --gid "$MCF_GROUP_ID" "$MCF_USER"
+
+RUN chown ${MCF_USER}:${MCF_USER} -R ${MCF_HOME}
+RUN chmod +x ${MCF_HOME}/example/start.sh
+
+USER ${MCF_USER}
+EXPOSE ${MCF_PORT}
+WORKDIR ${MCF_HOME}/example
+CMD ["./start.sh"]
\ No newline at end of file
diff --git a/src/main/docker/JDK-6/README.md b/src/main/docker/JDK-6/README.md
new file mode 100644
index 000000000..d77609347
--- /dev/null
+++ b/src/main/docker/JDK-6/README.md
@@ -0,0 +1,16 @@
+# Building Apache ManifoldCF 1.2 Docker Image with Oracle JDK 1.6
+
+In order to build ManifoldCF from version 1.2 to 1.10 you have to:
+
+1. Download jre-6u45-linux-x64.bin from the Oracle Portal and save it in this
folder
+2. Download or build ManifoldCF 1.2 and be sure to have the dist folder in the
same folder of this Dockerfile
+3. Build the Docker image with the following command:
+
+ For version 1.2:
+
+ `docker build --build-arg="MCF_VERSION=1.2" --progress=plain --platform
linux/amd64 . -t apache/manifoldcf:1.2`
+
+4. Run ManifoldCF 1.2 with:
+
+`docker run -p 8345:8345 apache/manifoldcf:1.2`
+
diff --git a/src/main/docker/JDK-7/Dockerfile b/src/main/docker/JDK-7/Dockerfile
new file mode 100644
index 000000000..c6b313d2f
--- /dev/null
+++ b/src/main/docker/JDK-7/Dockerfile
@@ -0,0 +1,116 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM openjdk:7-jre
+LABEL maintainer="The Apache ManifoldCF Project"
+
+ARG MCF_VERSION="1.10"
+
+ARG MCF_USER=manifoldcf
+ARG MCF_USER_ID=100001
+
+ARG MCF_GROUP=manifoldcf
+ARG MCF_GROUP_ID=100002
+
+ARG MCF_HOME=/usr/share/manifoldcf
+ARG MCF_PORT=8345
+
+#SHELL ["/bin/bash", "-c"]
+
+#RUN apt-get update && apt-get install -y iputils-ping && \
+# apt-get install -y dnsutils && \
+# apt-get install -y wget && \
+# apt-get install -y alien
+
+#RUN apt-get update && \
+# apt-get install -y software-properties-common
+
+#RUN add-apt-repository ppa:openjdk-r/ppa && \
+# apt-get install -y openjdk-7-jdk
+
+#WORKDIR /tmp
+#COPY jre-7u80-linux-x64.tar.gz /opt/jre-7u80-linux-x64.tar.gz
+
+#RUN chmod a+x jre-7u80-linux-x64.rpm
+#RUN alien jre*.rpm
+#RUN dpkg -i jre_1.7.080-1_amd64.deb
+#RUN whereis java
+#RUN ls -l /usr/local/java
+#RUN echo $JAVA_HOME
+
+#WORKDIR /
+
+#RUN mkdir -p /opt/jre-6
+#RUN mv /tmp/jre-6u45-linux-x64.bin /opt/jre-6/jre-6u45-linux-x64.bin
+#RUN echo yes|sh ./opt/jre-6/jre-6u45-linux-x64.bin
+
+#ENV JAVA_HOME /jre1.6.0_45
+#ENV PATH
/jre1.6.0_45/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+#RUN export JAVA_HOME=/jre1.6.0_45
+#RUN export
PATH=/jre1.6.0_45/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+#RUN echo $JAVA_HOME
+
+COPY dist/. ${MCF_HOME}/
+
+#Below the specific COPY instructions to configure a distribution without
propprietary artifacts
+#COPY dist/connector-build.xml ${MCF_HOME}/connector-build.xml
+#COPY dist/connectors.xml ${MCF_HOME}/connectors.xml
+#COPY dist/DEPENDENCIES.txt ${MCF_HOME}/DEPENDENCIES.txt
+#COPY dist/LICENSE.txt ${MCF_HOME}/LICENSE.txt
+#COPY dist/README.txt ${MCF_HOME}/README.txt
+
+#COPY dist/connector-common-lib ${MCF_HOME}/connector-common-lib
+#COPY dist/connector-lib ${MCF_HOME}/connector-lib
+#COPY dist/doc ${MCF_HOME}/doc
+#COPY dist/example ${MCF_HOME}/example
+#COPY dist/file-resources ${MCF_HOME}/file-resources
+#COPY dist/lib ${MCF_HOME}/lib
+#COPY dist/multiprocess-file-example ${MCF_HOME}/multiprocess-file-example
+#COPY dist/multiprocess-zk-example ${MCF_HOME}/multiprocess-zk-example
+#COPY dist/obfuscation-utility ${MCF_HOME}/obfuscation-utility
+#COPY dist/plugins/solr ${MCF_HOME}/plugins/solr
+#COPY dist/script-engine ${MCF_HOME}/script-engine
+#COPY dist/test-lib ${MCF_HOME}/test-lib
+#COPY dist/web/war ${MCF_HOME}/web/war
+
+LABEL maintainer="Apache ManifoldCF Developers <[email protected]>"
+LABEL org.opencontainers.image.title="Apache ManifoldCF"
+LABEL org.opencontainers.image.ref.name="manifoldcf"
+LABEL org.opencontainers.image.description="Apache ManifoldCF is a
multi-repository crawler framework, with multiple connectors."
+LABEL org.opencontainers.image.authors="Apache ManifoldCF Developers
<[email protected]>"
+LABEL org.opencontainers.image.url="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.source="https://github.com/apache/manifoldcf"
+LABEL
org.opencontainers.image.documentation="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.version="${MCF_VERSION}"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+LABEL org.opencontainers.image.vendor="Apache Software Foundation"
+
+ENV MCF_USER="manifoldcf"
+ENV MCF_USER_ID="100001"
+ENV MCF_GROUP="manifoldcf"
+ENV MCF_GROUP_ID="100002"
+ENV MCF_PORT="8345"
+
+RUN set -ex; \
+ groupadd -r --gid "$MCF_GROUP_ID" "$MCF_GROUP"; \
+ useradd -r --uid "$MCF_USER_ID" --gid "$MCF_GROUP_ID" "$MCF_USER"
+
+RUN chown ${MCF_USER}:${MCF_USER} -R ${MCF_HOME}
+RUN chmod +x ${MCF_HOME}/example/start.sh
+
+USER ${MCF_USER}
+EXPOSE ${MCF_PORT}
+WORKDIR ${MCF_HOME}/example
+CMD ["./start.sh"]
\ No newline at end of file
diff --git a/src/main/docker/JDK-7/README.md b/src/main/docker/JDK-7/README.md
new file mode 100644
index 000000000..2250a0ea1
--- /dev/null
+++ b/src/main/docker/JDK-7/README.md
@@ -0,0 +1,15 @@
+# Building Apache ManifoldCF 1.3-2.6 Docker Image with Open JDK 7
+
+In order to build ManifoldCF from version 1.3 to 2.6 you have to:
+
+1. Download or build ManifoldCF 1.3-2.6 and be sure to have the dist folder in
the same folder of this Dockerfile
+2. Build the Docker image with the following command:
+
+ For version 2.6:
+
+ `docker build --build-arg="MCF_VERSION=2.6" --progress=plain --platform
linux/amd64 . -t apache/manifoldcf:2.6`
+
+4. Run ManifoldCF 2.6 with:
+
+`docker run -p 8345:8345 apache/manifoldcf:2.6`
+
diff --git a/src/main/docker/JDK-8/Dockerfile b/src/main/docker/JDK-8/Dockerfile
new file mode 100644
index 000000000..5dbb1ab36
--- /dev/null
+++ b/src/main/docker/JDK-8/Dockerfile
@@ -0,0 +1,84 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM eclipse-temurin:8-jre-jammy
+LABEL maintainer="The Apache ManifoldCF Project"
+
+ARG MCF_VERSION="2.25"
+
+ARG MCF_USER=manifoldcf
+ARG MCF_USER_ID=100001
+
+ARG MCF_GROUP=manifoldcf
+ARG MCF_GROUP_ID=100002
+
+ARG MCF_HOME=/usr/share/manifoldcf
+ARG MCF_PORT=8345
+
+RUN apt-get update && apt-get install -y iputils-ping && \
+ apt-get install -y dnsutils
+
+COPY dist/. ${MCF_HOME}/
+
+#Below the specific COPY instructions to configure a distribution without
propprietary artifacts
+#COPY dist/connector-build.xml ${MCF_HOME}/connector-build.xml
+#COPY dist/connectors.xml ${MCF_HOME}/connectors.xml
+#COPY dist/DEPENDENCIES.txt ${MCF_HOME}/DEPENDENCIES.txt
+#COPY dist/LICENSE.txt ${MCF_HOME}/LICENSE.txt
+#COPY dist/README.txt ${MCF_HOME}/README.txt
+
+#COPY dist/connector-common-lib ${MCF_HOME}/connector-common-lib
+#COPY dist/connector-lib ${MCF_HOME}/connector-lib
+#COPY dist/doc ${MCF_HOME}/doc
+#COPY dist/example ${MCF_HOME}/example
+#COPY dist/file-resources ${MCF_HOME}/file-resources
+#COPY dist/lib ${MCF_HOME}/lib
+#COPY dist/multiprocess-file-example ${MCF_HOME}/multiprocess-file-example
+#COPY dist/multiprocess-zk-example ${MCF_HOME}/multiprocess-zk-example
+#COPY dist/obfuscation-utility ${MCF_HOME}/obfuscation-utility
+#COPY dist/plugins/solr ${MCF_HOME}/plugins/solr
+#COPY dist/script-engine ${MCF_HOME}/script-engine
+#COPY dist/test-lib ${MCF_HOME}/test-lib
+#COPY dist/web/war ${MCF_HOME}/web/war
+
+LABEL maintainer="Apache ManifoldCF Developers <[email protected]>"
+LABEL org.opencontainers.image.title="Apache ManifoldCF"
+LABEL org.opencontainers.image.ref.name="manifoldcf"
+LABEL org.opencontainers.image.description="Apache ManifoldCF is a
multi-repository crawler framework, with multiple connectors."
+LABEL org.opencontainers.image.authors="Apache ManifoldCF Developers
<[email protected]>"
+LABEL org.opencontainers.image.url="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.source="https://github.com/apache/manifoldcf"
+LABEL
org.opencontainers.image.documentation="https://hub.docker.com/r/apache/manifoldcf"
+LABEL org.opencontainers.image.version="${MCF_VERSION}"
+LABEL org.opencontainers.image.licenses="Apache-2.0"
+LABEL org.opencontainers.image.vendor="Apache Software Foundation"
+
+ENV MCF_USER="manifoldcf"
+ENV MCF_USER_ID="100001"
+ENV MCF_GROUP="manifoldcf"
+ENV MCF_GROUP_ID="100002"
+ENV MCF_PORT="8345"
+
+RUN set -ex; \
+ groupadd -r --gid "$MCF_GROUP_ID" "$MCF_GROUP"; \
+ useradd -r --uid "$MCF_USER_ID" --gid "$MCF_GROUP_ID" "$MCF_USER"
+
+RUN chown ${MCF_USER}:${MCF_USER} -R ${MCF_HOME}
+RUN chmod +x ${MCF_HOME}/example/start.sh
+
+USER ${MCF_USER}
+EXPOSE ${MCF_PORT}
+WORKDIR ${MCF_HOME}/example
+CMD ["./start.sh"]
\ No newline at end of file
diff --git a/src/main/docker/JDK-8/README.md b/src/main/docker/JDK-8/README.md
new file mode 100644
index 000000000..edd3e5864
--- /dev/null
+++ b/src/main/docker/JDK-8/README.md
@@ -0,0 +1,15 @@
+# Building Apache ManifoldCF 2.7-2.25 Docker Image with Open JDK 8
+
+In order to build ManifoldCF from version 2.7 to 2.25 you have to:
+
+1. Download or build ManifoldCF 2.7-2.25 and be sure to have the dist folder
in the same folder of this Dockerfile
+2. Build the Docker image with the following command:
+
+ For version 2.25:
+
+ `docker build --build-arg="MCF_VERSION=2.25" --progress=plain . -t
apache/manifoldcf:2.25`
+
+4. Run ManifoldCF 2.25 with:
+
+`docker run -p 8345:8345 apache/manifoldcf:2.25`
+