BBS Apex Policy vendor --> manufacturer and other
[policy/apex-pdp.git] / packages / apex-pdp-docker / src / main / docker / Dockerfile
1 #
2 # Docker file to build an image that runs APEX on Java 8 in alpine
3 #
4 FROM onap/policy-base-alpine:1.4.0
5
6 LABEL maintainer="Policy Team"
7
8 ARG BUILD_VERSION=${BUILD_VERSION}
9 ARG POLICY_LOGS=/var/log/onap/policy/apex-pdp
10
11 ENV BUILD_VERSION ${BUILD_VERSION}
12 ENV POLICY_HOME=/opt/app/policy/apex-pdp
13 ENV POLICY_LOGS=${POLICY_LOGS}
14
15 RUN apk add --no-cache \
16     vim \
17     iproute2 \
18     iputils
19
20 # Create apex user and group
21 RUN addgroup -S apexuser && adduser -S apexuser -G apexuser
22
23
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}
28
29 # Unpack the tarball
30 RUN mkdir /packages
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
34
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/*
39
40 # Copy examples to Apex user area
41 RUN cp -pr ${POLICY_HOME}/examples /home/apexuser \
42     && chown -R apexuser:apexuser /home/apexuser/*
43
44 USER apexuser
45 ENV PATH ${POLICY_HOME}/bin:$PATH
46 WORKDIR /home/apexuser