Fix broken chef/berkshelf install in docker images
[sdc.git] / catalog-be / sdc-backend-init / Dockerfile
1 FROM onap/integration-python:8.0.0
2
3 USER root
4
5 # Needed for pycurl
6 ENV PYCURL_SSL_LIBRARY=openssl
7
8 # Install packages only needed for building
9 RUN apk update && \
10     apk add binutils jq libpng && \
11     apk add --no-cache \
12         libcurl \
13         ruby && \
14     apk add --no-cache --virtual .build-dependencies \
15         libressl-dev \
16         ruby-dev \
17         libffi-dev \
18         libxml2-dev \
19         build-base \
20         curl-dev && \
21     # needed libcurl to install correctly \
22     python -m pip install --upgrade pip \
23     pip install 'pycurl==7.44.1' &&  \
24     set -ex && \
25     gem install public_suffix -v 4.0.7 --no-document && \
26     gem install multipart-post -v 2.2.0 --no-document && \
27     gem install chef:13.8.5 berkshelf:6.3.1 io-console:0.4.6 etc webrick --no-document && \
28     apk del .build-dependencies && \
29     gem cleanup
30
31 ENV ONAP_LOG=/home/onap/logs
32 RUN mkdir $ONAP_LOG && chown onap:onap $ONAP_LOG
33
34 # user/group are the same as in integration/docker/onap-python base image
35 ENV user=onap group=onap
36
37 USER onap
38
39 # user/group args are inherited from base_sdc-python base image
40 COPY --chown=onap:onap scripts /home/onap/scripts
41
42 RUN chmod 770 -R /home/onap/scripts && \
43     cd /home/onap/scripts && \
44     python setup.py install --user
45
46 ENV PATH=$PATH:/home/onap/.local/bin
47
48 COPY --chown=onap:onap chef-solo /home/onap/chef-solo/
49 COPY --chown=onap:onap chef-repo/cookbooks /home/onap/chef-solo/cookbooks/
50 COPY --chown=onap:onap startup.sh /home/onap/
51
52 RUN chmod 770 /home/onap/startup.sh
53
54 WORKDIR /home/onap/
55
56 ENTRYPOINT /home/${user}/startup.sh