Blob Blame History Raw
FROM registry.fedoraproject.org/fedora:25

# Port on which will apache run
EXPOSE 8080

# Image metadata
ENV NAME=perl \
    PERL_VERSION=5.24 \
    VERSION=0 \
    RELEASE=1 \
    ARCH=x86_64

# Set labels used in OpenShift to describe the builder images
LABEL com.redhat.component="$NAME" \
      name="$FGC/$NAME" \
      summary="Perl 5 is a highly capable, feature-rich programming language." \
      description="Perl 5 is a highly capable, feature-rich programming language with over 29 years of development. Perl 5 runs on over 100 platforms." \
      version="$VERSION" \
      release="$RELEASE.$DISTTAG" \
      architecture="$ARCH" \
      usage="s2i build file:///your/app modularitycontainers/perl your-app" \
      io.k8s.description="Platform for building and running Perl 5.24 applications" \
      io.k8s.display-name="Apache 2.4 with mod_perl/5.24" \
      io.openshift.expose-services="8080:http" \
      io.openshift.tags="builder,perl,perl524" \
      io.openshift.s2i.scripts-url=image:///usr/local/s2i

# Perl and build tools install + user addition

RUN BUILD_TOOlS="bsdtar \
  findutils \
  gcc \
  make \
  gettext \
  tar \
  wget \
  python " && \
  dnf install -y --setopt=tsflags=nodocs perl perl-devel mod_perl cpan cpanminus httpd \
		$BUILD_TOOlS && \
	dnf clean all && \
	mkdir -p /opt/app-root/src/ && \
	useradd -u 1001 -r -g 0 -d /opt/app-root/src -s /sbin/nologin \
    -c "Default Application User" default && \
    chown -R 1001:0 /opt/app-root

# Copy s2i files
COPY ./s2i/bin/ /usr/local/s2i

# Copy apache configuration
COPY ./contrib/ /opt/app-root

# Drop the root user
RUN mkdir -p /opt/app-root/etc/httpd.d && \
    sed -i -f /opt/app-root/etc/httpdconf.sed etc/httpd/conf/httpd.conf  && \
    chmod -R og+rwx /var/run/httpd /opt/app-root/etc/httpd.d && \
    chown -R 1001:0 /opt/app-root && chmod -R ug+rwx /opt/app-root

USER 1001

# Copy executable utilities.
COPY bin/ /usr/bin/

# Copy help file
COPY root/help.1 /

# Directory with the sources is set as the working directory so all STI scripts
# can execute relative to this path.
WORKDIR /opt/app-root/src

# Set the default command to print the usage
CMD /usr/local/s2i/usage