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`
+

Reply via email to