# 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:25-jre-resolute LABEL maintainer="The Apache ManifoldCF Project" ARG MCF_VERSION="2.31-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 ARG MCF_DIST=dist RUN apt-get update && apt-get install -y iputils-ping && \ apt-get install -y dnsutils #Below the specific COPY instructions to configure a distribution without propprietary artifacts and plugins COPY ${MCF_DIST}/connector-common-lib/ ${MCF_HOME}/connector-common-lib/ COPY ${MCF_DIST}/connector-lib/ ${MCF_HOME}/connector-lib/ COPY ${MCF_DIST}/connector-lib-proprietary/ ${MCF_HOME}/connector-lib-proprietary/ COPY ${MCF_DIST}/example/ ${MCF_HOME}/example/ COPY ${MCF_DIST}/file-resources/ ${MCF_HOME}/file-resources/ COPY ${MCF_DIST}/lib/ ${MCF_HOME}/lib/ COPY ${MCF_DIST}/multiprocess-file-example/ ${MCF_HOME}/multiprocess-file-example/ COPY ${MCF_DIST}/multiprocess-zk-example/ ${MCF_HOME}/multiprocess-zk-example/ COPY ${MCF_DIST}/obfuscation-utility/ ${MCF_HOME}/obfuscation-utility/ COPY ${MCF_DIST}/web/war/ ${MCF_HOME}/web/war/ COPY ${MCF_DIST}/connectors.xml ${MCF_HOME}/ COPY ${MCF_DIST}/DEPENDENCIES.txt ${MCF_HOME}/ COPY ${MCF_DIST}/LICENSE.txt ${MCF_HOME}/ COPY ${MCF_DIST}/NOTICE.txt ${MCF_HOME}/ COPY ${MCF_DIST}/README.txt ${MCF_HOME}/ LABEL maintainer="Apache ManifoldCF Developers " 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 " 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" COPY src/main/docker/logging/logging.xml ${MCF_HOME}/example 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"]