2 # Docker file to build an image that runs APEX on Java 8 in alpine
4 FROM onap/policy-base-alpine:1.4.0
6 LABEL maintainer="Policy Team"
8 ARG BUILD_VERSION=${BUILD_VERSION}
9 ARG POLICY_LOGS=/var/log/onap/policy/apex-pdp
11 ENV BUILD_VERSION ${BUILD_VERSION}
12 ENV POLICY_HOME=/opt/app/policy/apex-pdp
13 ENV POLICY_LOGS=${POLICY_LOGS}
15 RUN apk add --no-cache \
20 # Create apex user and group
21 RUN addgroup -S apexuser && adduser -S apexuser -G apexuser
24 # Add Apex-specific directories and set ownership as the Apex admin user
25 RUN mkdir -p ${POLICY_HOME} \
26 && mkdir -p ${POLICY_LOGS} \
27 && chown -R apexuser:apexuser ${POLICY_LOGS}
31 COPY apex-pdp-package-full.tar.gz /packages
32 RUN tar xvfz /packages/apex-pdp-package-full.tar.gz --directory ${POLICY_HOME} \
33 && rm /packages/apex-pdp-package-full.tar.gz
35 # Ensure everything has the correct permissions
36 RUN find /opt/app -type d -perm 755 \
37 && find /opt/app -type f -perm 644 \
38 && chmod a+x ${POLICY_HOME}/bin/*
40 # Copy examples to Apex user area
41 RUN cp -pr ${POLICY_HOME}/examples /home/apexuser \
42 && chown -R apexuser:apexuser /home/apexuser/*
45 ENV PATH ${POLICY_HOME}/bin:$PATH
46 WORKDIR /home/apexuser