-# Dockerfile for image with ONAP Portal SDK demo app
+# Dockerfile for SDK image with ONAP Portal
-# Yields an image 823 MB
-FROM openjdk:8-alpine
-# Yields an image 1.4 GB
-# FROM openjdk:8-jdk
+FROM tomcat:8.5.35-jre8-alpine
# Arguments are supplied by build.sh script
# the defaults below only support testing
ARG HTTP_PROXY
ARG HTTPS_PROXY
+
# Just variables, never passed in
-ARG TOMCAT=apache-tomcat-8.0.37
-ARG TOMCATTAR=${TOMCAT}.tar.gz
-ARG TOMCATHOME=/opt/${TOMCAT}
ARG SDKCONTEXT=ONAPPORTALSDK
+ARG TOMCAT=/usr/local/tomcat
+ARG TOMCATHOME=${TOMCAT}
+ARG SERVERXML=${SERVERXML}
+
ENV http_proxy $HTTP_PROXY
ENV https_proxy $HTTPS_PROXY
-RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
- if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi
-
-# Install Tomcat. This image already has curl.
-WORKDIR /tmp
-RUN wget -q http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.37/bin/apache-tomcat-8.0.37.tar.gz
-RUN tar -xzf ${TOMCATTAR}
-RUN rm ${TOMCATTAR}
+RUN if [ -d /etc/apt ] && [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
+ if [ -d /etc/apt ] && [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi
+
+
# Remove manager and sample apps
-RUN rm -fr ${TOMCAT}/webapps/[a-z]*
+RUN rm -rf ${TOMCAT}/webapps/[a-z]*
RUN mkdir -p /opt
-RUN mv ${TOMCAT} /opt
+COPY ${SERVERXML} ${TOMCAT}/conf
+# TODO: ????
+#RUN mv ${TOMCAT} /opt
WORKDIR ${TOMCATHOME}/webapps
RUN mkdir ${SDKCONTEXT}
-# SDK app has only a war
+# Portal has many parts
COPY $SDK_WAR ${SDKCONTEXT}
RUN cd ${SDKCONTEXT} && unzip -q *.war && rm *.war
VOLUME ${TOMCATHOME}/logs
+# Switch to unprivileged user
+RUN addgroup -g 1000 -S portal && \
+ adduser -u 1000 -S portal -G portal && \
+ mkdir -p ${TOMCATHOME}/temp && \
+ chown portal:portal ${TOMCATHOME}/temp
+USER portal
+
# Switch back to root
WORKDIR /
COPY start-apache-tomcat.sh /
# Define default command
-CMD /start-apache-tomcat.sh
+ENV TOMCATHOME=$TOMCATHOME
+CMD /start-apache-tomcat.sh -b $TOMCATHOME
\ No newline at end of file