modify dockerfile
[ric-app/kpimon.git] / Dockerfile
1 ARG STAGE_DIR=/tmp/kpi-xapp\r
2 \r
3 #==================================================================================\r
4 FROM nexus3.o-ran-sc.org:10001/ubuntu:16.04 as ricbuild\r
5 \r
6 # to override repo base, pass in repo argument when running docker build:\r
7 # docker build --build-arg REPOBASE=http://abc.def.org . ....\r
8 ARG REPOBASE=https://gerrit.oran-osc.org/r\r
9 ARG STAGE_DIR\r
10 \r
11 # Install necessary packages\r
12 WORKDIR ${STAGE_DIR}\r
13 RUN apt-get update  \\r
14       && apt-get install -y \\r
15       libcurl4-openssl-dev \\r
16       libcurl3 \\r
17       cmake \\r
18       git \\r
19       build-essential \\r
20       automake \\r
21       autoconf-archive \\r
22       autoconf \\r
23       pkg-config \\r
24       gawk \\r
25       libtool \\r
26       wget \\r
27       zlib1g-dev \\r
28       libffi-dev \\r
29       && apt-get clean\r
30 \r
31 # Install mdclog using debian package hosted at packagecloud.io\r
32 ARG MDC_VER=0.0.3-1\r
33 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/mdclog_${MDC_VER}_amd64.deb/download.deb\r
34 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/mdclog-dev_${MDC_VER}_amd64.deb/download.deb\r
35 RUN dpkg -i mdclog_${MDC_VER}_amd64.deb\r
36 RUN dpkg -i mdclog-dev_${MDC_VER}_amd64.deb\r
37 \r
38 # Install RMR using debian package hosted at packagecloud.io\r
39 ARG RMR_VER=1.3.0\r
40 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_${RMR_VER}_amd64.deb/download.deb\r
41 RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_${RMR_VER}_amd64.deb/download.deb\r
42 RUN dpkg -i rmr_${RMR_VER}_amd64.deb\r
43 RUN dpkg -i rmr-dev_${RMR_VER}_amd64.deb\r
44 \r
45 # Install Hiredis Library\r
46 RUN cd /tmp/\r
47 RUN git clone https://github.com/redis/hiredis.git\r
48 RUN cd hiredis\r
49 RUN make all\r
50 \r
51 ##-----------------------------------\r
52 # Now install the program\r
53 #------------------------------------\r
54 COPY ./ ${STAGE_DIR}\r
55 RUN export CPATH=$CPATH:/usr/local/include && \ \r
56     cd src && \\r
57     make clean && \\r
58     make install \r
59 \r
60 #---------------------------------------------\r
61 # Build the final version\r
62 #FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu16-c-go:1-u16.04-nng1.1.1\r
63 \r
64 FROM ubuntu:16.04\r
65 \r
66 ARG STAGE_DIR\r
67 \r
68 # copy just the needed libraries install it into the final image\r
69 RUN cd ${STAGE_DIR}/src\r
70 COPY --from=ricbuild ${STAGE_DIR}/*.deb /tmp/\r
71 COPY --from=ricbuild /usr/local/lib/libnng* /usr/local/lib/\r
72 RUN dpkg -i /tmp/*.deb\r
73 RUN apt-get update && \\r
74     apt-get install -y libcurl3 && \\r
75     apt-get clean\r
76 COPY --from=ricbuild /etc/xapp/* /etc/xapp/\r
77 COPY --from=ricbuild /usr/local/bin/kpi-xapp /usr/local/bin/kpi-xapp\r
78 #COPY --from=ricbuild /usr/local/bin/e2e-test-client /usr/local/bin/e2e-test-client\r
79 #COPY --from=ricbuild /usr/local/bin/mock-e2term-server /usr/local/bin/mock-e2term-server\r
80 #COPY --from=ricbuild /usr/local/bin/e2e-perf-client /usr/local/bin/e2e-perf-client\r
81 #COPY --from=ricbuild /usr/local/bin/e2e-perf-server /usr/local/bin/e2e-perf-server\r
82 #COPY --from=ricbuild /usr/local/bin/mock-a1-server /usr/local/bin/mock-a1-server\r
83 \r
84 \r
85 RUN ldconfig\r
86 \r
87 ENV  RMR_RTG_SVC="127.0.0.1" \\r
88      NAME=KPI_XAPP \\r
89      PORT=tcp:4560 \\r
90      THREADS=1\r
91 \r
92 ARG gNodeB=NYC123,ABC345,CDR331\r
93 ARG THREADS=1\r
94 \r
95 CMD ./kpi-xapp -g $gNodeB -t $THREADS\r