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