Merge "OAuth2 support"
[pti/o2.git] / Dockerfile
1 FROM nexus3.onap.org:10001/onap/integration-python:12.0.0 as build
2 # https://nexus3.onap.org/#browse/search=keyword%3Dintegration-python:d406d405e4cfbf1186265b01088caf9a
3 # https://git.onap.org/integration/docker/onap-python/tree/Dockerfile
4
5 USER root
6
7 RUN apk add --no-cache \
8     git \
9     curl \
10     bluez-dev \
11     bzip2-dev \
12     dpkg-dev dpkg \
13     expat-dev \
14     gcc \
15     libc-dev \
16     libffi-dev \
17     libnsl-dev \
18     libtirpc-dev \
19     linux-headers \
20     make \
21     ncurses-dev \
22     openssl-dev \
23     pax-utils \
24     sqlite-dev \
25     tcl-dev \
26     tk \
27     tk-dev \
28     util-linux-dev \
29     xz-dev \
30     zlib-dev \
31     && curl -O https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz \
32     && tar -zxvf helm-v3.3.1-linux-amd64.tar.gz \
33     && cp linux-amd64/helm /usr/local/bin \
34     && rm -f helm-v3.3.1-linux-amd64.tar.gz
35
36 COPY requirements.txt /tmp/
37 COPY requirements-stx.txt /tmp/
38 COPY constraints.txt /tmp/
39 COPY setup.py /src/
40
41 ENV PATH="/.venv/bin:${PATH}"
42
43 RUN mkdir -p /.venv && \
44     python -m venv /.venv \
45     && pip install --no-cache-dir -r /tmp/requirements.txt -r /tmp/requirements-stx.txt -c /tmp/constraints.txt \
46     && pip install --no-cache-dir -e /src
47
48 FROM nexus3.onap.org:10001/onap/integration-python:12.0.0
49
50 ARG user=orano2
51 ARG group=orano2
52
53 USER root
54
55 RUN apk add --no-cache bash
56
57 COPY --from=build /.venv /.venv
58 COPY --from=build /src /src
59
60 # Create a group and user
61 RUN addgroup -S $group \
62     && adduser -S -D -h /home/$user $user $group \
63     && chown -R $user:$group /home/$user \
64     && mkdir /var/log/$user \
65     && mkdir -p /src \
66     && mkdir -p /configs/ \
67     && mkdir -p /src/o2app/ \
68     && mkdir -p /src/helm_sdk/ \
69     && mkdir -p /etc/o2/ \
70     && chown -R $user:$group /var/log/$user \
71     && chown -R $user:$group /src \
72     && chown -R $user:$group /configs \
73     && chown -R $user:$group /etc/o2/
74
75 COPY helm_sdk/ /src/helm_sdk/
76
77 COPY configs/ /etc/o2/
78 COPY configs/ /configs/
79
80 COPY o2common/ /src/o2common/
81 COPY o2app/ /src/o2app/
82 COPY o2dms/ /src/o2dms/
83 COPY o2ims/ /src/o2ims/
84
85 WORKDIR /src
86
87 # USER $user
88 ENV PYTHONHASHSEED=0
89 ENV PATH="/.venv/bin:${PATH}"